【发布时间】:2010-11-27 08:20:49
【问题描述】:
比较完整的DateTime 实例与代表一天中的实际时间的小时、分钟和秒的首选方法是什么,并且能够对这些三元组进行操作(例如@987654322 @ 小时、分钟、秒..)?
我目前的方法是这样的
DateTime startHour = new DateTime(1900,1,1,12,25,43);
DateTime endHour = new DateTime(1900,1,1,13,45,32);
// I need to, say, know if a complete DateTime instance
// is later than startHour plus 15 minutes
DateTime now = DateTime.Now();
startHour = startHour.addMinutes(15);
if (now.CompareTo(new DateTime(now.Year, now.Month, now.Day, startHour.Hour,
startHour.Minute, startHour.Second)) > 0)
{
//I can do something now
}
这非常麻烦,甚至容易失败。在我看来,TimeSpans 不是解决方案,因为它们代表跨度并且不受 24 小时限制的约束(TimeSpan 56 小时 34 分钟有效。)
此类计算的首选方法是什么?
【问题讨论】:
-
您要解决什么问题?仅仅是TimeSpan可以超过24小时吗?因为您可以轻松检查。
标签: c# .net datetime time date-math