【问题标题】:Set DateTime to 11:59:59 PM将日期时间设置为晚上 11:59:59
【发布时间】:2018-09-08 05:20:12
【问题描述】:

我们有一个应用程序可以让用户获取两个日期之间的数据。这些日期在 Date 控件中,如果用户想要选择某一天的数据,他们将在同一天在两个控件中输入。

这将导致问题,因为这些控件的.Value 设置为午夜,12:00 AM。所以它会尝试在12:00 AM12:00 AM之间寻找同一天的数据。

例如,

DateTime start = fromDate.Value; // 09-07-2018 12:00 AM
DateTime end = toDate.Value; // 09-07-2018 12:00 AM

稍后,我们将调用start:startend:end 的数据库。

SELECT * FROM Table WHERE Date BETWEEN :start AND :end;

此查询不会返回任何内容,因为午夜和午夜之间没有任何内容。

我们如何将end 设置为23:59:5911:59:59 PM

【问题讨论】:

标签: c#


【解决方案1】:

你应该只使用

DateTime end = toDate.Value.AddDays(1);

这将为您提供第二天的午夜,因此任何低于此时间的都是前一天。

【讨论】:

    【解决方案2】:

    你需要使用下一个代码:

    DateTime end = toDate.Value.AddDays(1).AddSeconds(-1);
    

    【讨论】:

      猜你喜欢
      • 2011-01-26
      • 2013-10-19
      • 2016-05-03
      • 2021-07-05
      • 1970-01-01
      • 2023-02-08
      • 1970-01-01
      • 2017-08-03
      • 1970-01-01
      相关资源
      最近更新 更多