【发布时间】:2014-12-18 08:37:06
【问题描述】:
我已经写了一个应用程序来显示距离下一次大型行业贸易展的剩余时间。
(在撰写本文时大约是两年后)
我开始使用标准的 DateTime 类,但很快就遇到了处理每个月不同天数的问题,2016 年是闰年,包含 Leap Day、夏令时等。
幸好我发现了NodaTime。 (感谢@JonSkeet)
不太庆幸的是,我习惯于使用 DateTime 的方式并不适用,而且我很难弄清楚如何获得剩余的时间。 (周围没有很多例子)
例如,以下代码不起作用,因为您不能从 LocalDateTime 中减去 instant:
void example()
{
DateTime DT = Convert.ToDateTime("09/12/2016 10:00AM");
LocalDateTime NodaLocalDateTime = new LocalDateTime(
DT.Year, DT.Month, DT.Day, DT.Hour, DT.Minute, 0);
Period P = NodaLocalDateTime - SystemClock.Instance.Now;
}
所以问题变成了:
您如何获得从现在到某个日期的剩余时间?
【问题讨论】: