我的代码段就像这样
DateTime.Parse("2014-04-24T10:00:00").TimeOfDay
,这会产生输出
10:00:00
但我希望得到结果
10:00
实现这一目标的正确方法是什么?
答案 0 :(得分:6)
您可以在DateTime
:HH:mm
DateTime dt = DateTime.Parse("2014-04-24T10:00:00");
string output = dt.ToString("HH:mm"); // hh if you want 12h clock
另一种方法是使用DateTime.ToShortTimeString
:
string output = dt.ToShortTimeString()
使用.NET 4+,你也可以使用TimeSpan.ToString
,因为它现在实现了IFormattable
,虽然我发现很难记住如何正确地逃避它:
string output = dt.TimeOfDay.ToString(@"hh\:mm")
答案 1 :(得分:4)
试试这个:
DateTime.ToShortTimeString()
答案 2 :(得分:3)
由于TimeOfDay
返回TimeSpan
,您可以使用hh\:mm
格式对其进行格式化。
DateTime.Parse("2014-04-24T10:00:00").TimeOfDay.ToString(@"hh\:mm");
看看;
TimeSpan.ToString(String)
method需要.NET Framework 4.0或更高版本。