我有 2 个日期时间对象需要合并。这包含正确的日期,但不需要时间部分。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)有没有更优雅的方法来做到这一点?
1 回答
皈依舞
TA贡献1851条经验 获得超3个赞
当然。
var result = fl.Value.Date + g.Value.TimeOfDay;
DateTime.Date
返回DateTime
时间部分设置为午夜的 a。DateTime.TimeOfDay
获取TimeSpan
包含自午夜以来经过的一天的分数。
确保你的两者都DateTimes
具有相同的Kind
,否则结果可能不是你所期望的。
- 1 回答
- 0 关注
- 56 浏览
添加回答
举报
0/150
提交
取消