簡體   English   中英

將字符串轉換為 24 小時日期時間格式

[英]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 小時格式。

https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings#HH_Specifier

在您的問題建議的簡單情況下,您事先知道字符串是 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM