我有2个DateTime:
DateTime beginDate = 2000/01/01 14:00
DateTime endDate = 2000/01/01 14:30
我计算这两小时之间的时间跨度:
TimeSpan span = endDate.Subtract(beginDate);
var myValue = beginDate.AddMinutes( span.Minutes ).TimeOfDay.Ticks
//Trying to get this equal to the endDate by using the beginDate + myValue
//I have to use myvalue, because this value comes from the DB and this piece
//of code sits in another class than the above code
DateTime otherDate = beginDate.Date.Add( new TimeSpan( myValue ) )
问题是我继续0:30回来,我应该回到14:30。 我理解为什么,因为beginDate.Date给你2000/01/01 00:00,但我不能使用beginDate.TimeOfDay.Add,因为它是一个只读字段。 我如何实现它只将myValue添加到给定日期的时间?
答案 0 :(得分:2)
您应该使用TimeSpan.TotalMinutes。
span.Minutes
只为您提供分钟部分。因此1:30
它不会是90.它将是30
。使用TotalMinutes
获取90
。
此外beginDate.Date
也应更改为beginDate
,因为使用Date
即可删除时间。
答案 1 :(得分:1)
DateTime otherDate = beginDate + span;