【问题标题】:C# compare datetime with current datetime [closed]C#比较日期时间和当前日期时间[关闭]
【发布时间】:2012-10-19 17:58:39
【问题描述】:

如何检查我的申请日期时间(例如 2012 年 10 月 18 日下午 4:09:41)是否在 30 小时前创建?

【问题讨论】:

  • 申请日期时间是什么意思?
  • 对不起,它只是我应用程序中的一个字段。
  • 你试过什么?我会将字符串解析为 DateTime,然后将其与 TimeSpan 进行比较。这个问题表明你对如何做到这一点的研究为零。
  • 谢谢大家的帮助,对不起,我认为我的不工作代码会有用,古玩,所以我没有提供我的不工作代码的原因是 -9?想知道我以后的参考。谢谢

标签: c# asp.net


【解决方案1】:

只需减去两个日期

TimeSpan diff = date2.Subtract(date1);
       if(diff.Hours > 30)
{
//do action;
}

【讨论】:

  • 如果您要提供代码,您应该解释如何使用 TimeSpan。作者显然不明白该怎么做。
【解决方案2】:

两个日期之差返回 TimeSpan。 TimeSpan 具有小时、分钟和秒的属性。您可以使用:

int hours = (date2-date1).Hours;

它返回小时数。您可以在任何情况下使用可变小时数。

【讨论】:

    【解决方案3】:

    您可以简单地减去DateTimes 得到TimeSpan,然后查看.Days 属性:

    var span = secondDate.Subtract(firstDate);
    var days = span.Days;
    

    【讨论】:

      【解决方案4】:
      DateTime appDate = new DateTime(2012, 10, 18, 16, 9, 41);
      TimeSpan diff = DateTime.Now.Subtract(appDate);
      if(diff.Hours > 30)
      {
          // Application older than 30 hours
      }
      

      【讨论】:

        【解决方案5】:

        试试这个

        DateTime d2 = Convert.ToDateTime('10/18/2012 4:09:41 PM');
        double hrs = DateTime.Now.Subtract(d2).TotalHours;
        

        【讨论】:

          【解决方案6】:

          DateTime.Now.AddHours(-30) == "application datetime"(你的变量名)

          【讨论】:

          • 这毫无意义。此代码无法编译。
          • 哦,真的吗? "application datetime" - 是日期时间变量名
          • @Ramhound 请解释您的评论。
          • @rs 代码尝试将 DateTime 与字符串进行比较。它不会编译。
          • "application datetime" 正如作者 (Ben) 所说,是他的应用程序中 DateTime 字段的名称,所以实际上它类似于 DateTime.Now.AddHours(-30) == DateTime.Now
          猜你喜欢
          • 2019-09-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-20
          • 2012-01-20
          • 2013-05-22
          • 2016-07-24
          • 2020-12-16
          相关资源
          最近更新 更多