只获取日期时间对象的时间
本文关键字:时间 对象 取日期 获取 | 更新日期: 2023-09-27 18:09:06
我试图只获取DateTime
对象的时间。
假设我有一个对象:
Nullable<DateTime> data = new DateTime(2007,6,15,5 ,23,45);
我尝试使用:
data.Value.ToShortTimeString()
我收到了:
5:23 AM
我希望能够只显示5:23
我该怎么做?
您可以使用具有适当格式字符串的ToString
方法:
var time = date.ToString("H:mm");
您可以使用"H"自定义格式说明符。
"H"自定义格式说明符将小时表示为0中的数字至23;也就是说,小时由基于零的24小时表示从午夜开始计时的钟。个位数小时是格式化时没有前导零。
Nullable<DateTime> data = new DateTime(2007, 6, 15, 5, 23, 45);
Console.WriteLine(data.Value.ToString("H:mm"));
输出将为;
5:23
这是一个DEMO
。
有关更多信息,请查看Custom Date and Time Format Strings
如果需要获取TimeSpan
类型,请使用DateTime类中名为TimeOfDay
的属性。它只返回"时间"部分。
如果您需要获得该格式的字符串,那么使用TimeOfDay是一种过度处理,只需使用ToString("hh:mm")
来格式化输出即可。如果不希望得到类似05:40
的结果,请使用ToString("H:mm")
。
Nullable<DateTime> data = new DateTime(2007, 6, 15, 5, 23, 45);
var timeofDay = data.Value.TimeOfDay; // 05:23:45
var time = date.ToString("H:mm");
这里的H
表示24小时的时间。即0-23
查看更多格式自定义日期和时间格式字符串
奇怪,它对我来说很好,也许它是visual studio中的一个设置?
你可以试试这个
Nullable<DateTime> data = new DateTime(2007, 6, 15, 5, 23, 45);
Debug.Write(data.Value.Hour + ":" + data.Value.Minute);