在 C# 中将 12 小时格式转换为 24 小时格式

Convert 12-hour format to 24-hour format in C#

如何将 DateTime 格式的 12 小时格式转换为 24 小时格式。

我已经尝试将 DateTime 转换为字符串(24 小时格式)并将其转换回 Datetime 格式,但它不起作用。

DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123); 

dt.ToString("dd/MM/yyyy hh:mm:ss tt"); //12 HOUR FORMAT
dt.ToString("dd/MM/yyyy HH:mm:ss");    //24 HOUR FORMAT 

使用扩展方法也是个好主意。

public static class MyExtensionClass
{
    public static string ToFormat12h(this DateTime dt)
    {
        return dt.ToString("yyyy/MM/dd, hh:mm:ss tt");
    }

    public static string ToFormat24h(this DateTime dt)
    {
        return dt.ToString("yyyy/MM/dd, HH:mm:ss");
    }
}

那么您可以使用以下两种方法:

var dtNow = DateTime.Now;

var h12Format = dtNow.ToFormat12h();    // "2016/05/22, 10:28:00 PM"
var h24Format = dtNow.ToFormat24h();    // "2016/05/22, 22:28:00"

检查以下代码。

string time = Console.ReadLine();
DateTime dt = Convert.ToDateTime(time);
String militaryDate = dt.ToString("HH:mm:sstt");
Console.Write(militaryDate);