我有一个DateTime
属性,我怎么能只得到Timepart
?
例如-
[代码]
DateTime DepartureTime {get; set;}
如果时间04/02/2014 5:30:00 PM
,我只想要时间(5:30 PM
)部分在DateTime
。我不希望它在String
中,因为我想要的返回类型是DateTime
.
DateTime
的属性TimeOfDay
,如
DateTime.Now.TimeOfDay
将返回日期时间的时间部分。您必须知道,此属性返回的是 TimeSpan
结构,而不是 DateTime
。返回的值将计算自当天午夜以来一天中的时间。
如果要将TimeSpan
转换回DateTime
,可以使用一个构造函数:
var date = DateTime.Now;
var timeAsDateTime = new DateTime(1, 1, 1, date.TimeOfDay.Hours, date.TimeOfDay.Minutes, date.TimeOfDay.Seconds);
通过将时间部分显示为字符串,可以通过在要显示时间部分时调用ToShortTimeString()
来将时间部分显示为字符串,而不会丢失DateTime
的数据类型。
这取决于你想用时间做什么。如果您需要做的不仅仅是显示它,第一个答案可能更相关,但根据您的需要有一些选项。