我有两个需要合并的日期时间对象。
这包含正确的日期,但是不需要时间部分。
DateTime? sessionDate = fl.EventDateTimeStart
这包含正确的时间,但是日期部分必须是来自 上面的sessionDate对象。
DateTime? sessionStartTime = g.GameStartTime.Value
我尝试使用各种DateTime toString()方法,但发现 因为它们是类的一部分,所以需要保留DateTime吗?类型 所以我不能只是将它们转换为字符串。
所以我想出了一种非常丑陋的方法:
sessionStartTime = new DateTime(
fl.EventDateTimeStart.Value.Year,
fl.EventDateTimeStart.Value.Month,
fl.EventDateTimeStart.Value.Day,
g.GameStartTime.Value.Hour,
g.GameStartTime.Value.Minute,
g.GameStartTime.Value.Second)
是否有更优雅的方法?
谢谢!
答案 0 :(得分:4)
好的。
var result = fl.Value.Date + g.Value.TimeOfDay;
DateTime.Date
返回一个DateTime
,其时间部分设置为午夜。 DateTime.TimeOfDay
得到一个TimeSpan
,其中包含自午夜以来经过的那部分时间。
请确保两个DateTimes
具有相同的Kind
,否则结果可能与您的预期不符。