【问题标题】:Compare Two different formats of the DateTime比较两种不同格式的 DateTime
【发布时间】:2014-11-04 20:30:10
【问题描述】:

我的表中有EndDate 列,它接受这样的记录

2014-10-29 00:00:00.000

现在我想将这个 DateTime当前日期 进行比较。为此,我确实喜欢这样:-

 var today=DateTime.Now;

 var LstEvents = (from t in _context.Tournaments
                             where t.SiteId == siteId && t.EndDate != null
                             && t.EndDate < today
                             select t).ToList();

但是t.EndDate &lt; today 没有返回我想要的结果。我今天做了 Add Watch 并检查了值,它的格式就像

今天 {11/3/2014 8:12:00 PM} System.DateTime

因此无法比较我的日期。 任何帮助将不胜感激

谢谢!!

【问题讨论】:

  • DateTime 没有格式,字符串有。 EndDate 列是什么类型的?
  • 日期时间@TimSchmelter
  • DateTimes 按进行比较,而不是按格式化值。其他东西正在影响您的结果。
  • 1) DateTime.Now 返回当前时间(包括时分秒和刻度)
  • 我没有格式化任何日期时间值@DStanley

标签: c# datetime datetime-format


【解决方案1】:

它们可比的。您看到的是日期的字符串表示,其中考虑了格式文化

如果您从调试器中看到这一点,那么它会针对您的实例显示 ToString() 的结果,即使用通用日期和时间格式说明符 ('G') 和当前线程的文化。

(编辑:相信这就是他所指的)

【讨论】:

  • 你能给我看一些代码吗?我无法得到这个@ken2k
  • 我不相信这本身就是一个代码项。我认为 ken2k 正在谈论查看 IDE 中出现的值。
【解决方案2】:

我粘贴的代码绝对正确。我知道DateTime 格式是无关紧要的。无论是来自数据库还是我在C# 代码中使用过它。我有点困惑,因为我认为如果数据库中的 DateTime 记录以某种格式设置,那么它不能与 C# 中的 DateTime 值进行比较。我们要么改变格式,要么做点什么。无论如何,感谢 Guyzz 的帮助。

干杯!!

【讨论】:

    猜你喜欢
    • 2019-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多