[英]Converting a string into a 24hr datetime format
我有按以下順序出現的字符串數據:
“4:32”、“1:08”
我想將其轉換為 24 小時制
其中“4:32”變為 16:32
將其解析為TimeSpan
,然后添加 12 小時:
var offset = TimeSpan.FromHours(12);
var time = TimeSpan.Parse("4:32").Add(offset);
將輸入字符串解析為TimeSpan
,添加 12 小時,然后將TimeSpan
格式化為所需的字符串格式:
string input = "4:32";
string output = TimeSpan.Parse(input).Add(TimeSpan.FromHours(12)).ToString("hh\\:mm");
// output: "16:32"
根據您的評論,一旦您知道時間是上午/下午,您可以使用它的后綴解析值,然后使用HH自定義格式說明符:
DateTime d = DateTime.Parse("4:32 PM");
Console.WriteLine(d.ToString("HH:mm"));
將其轉換為 24 小時格式。
在您的問題建議的簡單情況下,您事先知道字符串是 12 小時格式的h:mm
並且它指的是 PM,而不是 AM,那么您可以拆分字符串,解析小時,添加 12,然后重新組合它。
var inputString = "4:32";
var splits = inputString.Split(':');
var hourString = splits[0];
var minuteString = splits[1];
var hour = int.Parse(hourString);
hour = hour + 12;
var outputString = $"{hour}:{minuteString}";
如果您對日期或時間做任何更復雜的事情,您可能想要使用DateTime
或類似的類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.