【发布时间】:2012-06-20 23:08:40
【问题描述】:
我的这段代码:
public static string getLogFileNameForDate(DateTime dt)
{
if (dt.Equals(DateTime.Now))
...即使两个日期相同(日期)也会失败,因为 dt 在启动时被分配了一个值(例如“6/18/2012 15:19:42”),因此日期不完全是相同,即使年、月和日相同(DateTime.Now 的值可能是“6/18/2012 15:30:13”)。
我知道我可以这样测试:
if ((dt.Year.Equals(DateTime.Now.Year) && (dt.Month.Equals(DateTime.Now.Month) && (dt.Day.Equals(DateTime.Now.Day))
...但这似乎有点像 Jethro* 风格
什么是接受/首选的方法(没有双关语)?
- Clampett,而不是 Tull
【问题讨论】:
-
dt.Date.CompareTo(DateTime.Now.Date) == 0 应该可以解决问题。
-
@dash:看起来你需要神话般的“Seeing Double”徽章来为你不断发现的这些骗子。
-
我一直在问自己:“这些肯定不是原创问题” :-) 一方面,OP 得到的答案很好,但另一方面,用相同的内容填充网站答案...