【发布时间】:2018-09-11 09:14:10
【问题描述】:
问题是比较过去和现在的 DateTime 的最佳方法。 我现在尝试用 DateTime 区分过去的时间,但这并不能完全解决我的问题。 我尝试的功能在这里=>
public void diffOfEpochTime(DateTime past_time){
double howlong = (DateTime.Now() - past_time).TotalDays;
Console.write(howlong/365.25 + " Year "
+ (howlong%365.25)/30 + " Month "
+ (howlong%365.25)%30 + " Day");
}
看起来很有效,但实际上并不是因为时间的差异在某些月份和每天都被错过了。
例如时间是 2018 年 1 月 1 日 12:00:00 AM 今天是 2018 年 3 月 1 日 12:00:00 AM 答案应该是 0 年 2 月 1 日。 但函数的答案是 0 年 1 月 29 日
任何人都可以建议我如何敢于这样做,谢谢。
【问题讨论】:
-
为什么不
TimeSpan difference = d2 - d1;? -
Timespand是TimeSpan的拼写错误吗?看看TimeSpandocumentation。它有一个如何访问年、日等的示例。 -
对不起。我有很多版本,很抱歉我错过了。我现在已经编辑了。所以这是它的最后一个版本。