我需要将12小时格式时间(上午/下午)转换为24小时格式时间,例如使用C#将时间从01:00 PM转换为13:00.我怎么转换它?
Mar*_*rco 29
如果您需要将字符串转换为DateTime,您可以尝试
DateTime dt = DateTime.Parse("01:00 PM"); // No error checking
Run Code Online (Sandbox Code Playgroud)
或(有错误检查)
DateTime dt;
bool res = DateTime.TryParse("01:00 PM", out dt);
Run Code Online (Sandbox Code Playgroud)
变量dt
包含您的日期时间,因此您可以编写它
dt.ToString("HH:mm");
Run Code Online (Sandbox Code Playgroud)
最后一个适用于您拥有的每个DateTime var,因此如果您仍有DateTime,则可以通过这种方式将其写出来.
bob*_*mcr 18
您将希望熟悉自定义日期和时间格式字符串.
DateTime localTime = DateTime.Now;
// 24 hour format -- use 'H' or 'HH'
string timeString24Hour = localTime.ToString("HH:mm", CultureInfo.CurrentCulture);
Run Code Online (Sandbox Code Playgroud)
将字符串转换为DateTime,您可以尝试
DateTime timeValue = Convert.ToDateTime("01:00 PM");
Console.WriteLine(timeValue.ToString("HH:mm"));
Run Code Online (Sandbox Code Playgroud)
int hour = your hour value;
int min = your minute value;
String ampm = your am/pm value;
hour = ampm == "AM" ? hour : (hour % 12) + 12; //convert 12-hour time to 24-hour
var dateTime = new DateTime(0,0,0, hour, min, 0);
var timeString = dateTime.ToString("HH:mm");
Run Code Online (Sandbox Code Playgroud)
通过以下代码将DateTime从12小时转换为24小时.
string currentDateString = DateTime.Now.ToString("dd-MMM-yyyy h:mm tt");
DateTime currentDate = Convert.ToDateTime(currentDateString);
Console.WriteLine("String Current Date: " + currentDateString);
Console.WriteLine("Converted Date: " + currentDate.ToString("dd-MMM-yyyy HH:mm"));
Run Code Online (Sandbox Code Playgroud)
每当你想要时间应该在24小时内显示使用格式"HH"
有关更多详细信息,请参阅以下链接: 自定义日期和时间格式字符串
您可以这样使用:
string date = "";
date = DateTime.ParseExact("01:00 PM" , "h:mm tt",
CultureInfo.InvariantCulture).ToString("HH:mm");
Run Code Online (Sandbox Code Playgroud)
小时:12小时
毫米:分钟
tt:下午/上午
HH:24小时