【问题标题】:How to compare MySQL timestamp如何比较 MySQL 时间戳
【发布时间】:2010-10-10 21:30:36
【问题描述】:

我正在从具有时间戳的 mysql 数据库中提取一行,如下所示:2010-10-10 16:56:23

我需要将此时间戳与日期对象的当前时间进行比较,看看是否已经过了 30 分钟。

谢谢!

【问题讨论】:

  • 你用什么从数据库中提取行?
  • 您可以考虑将两者都转换为 UNIX 纪元时间,然后进行简单的计算。我只是不能给你解决方案,因为现在是工作时间:)

标签: javascript timestamp


【解决方案1】:

怎么样:

(new Date() - Date.parse('2010-10-10 16:56:23')) >= 1000 * 60 * 30 // (current date - date) >= 30 minutes

不过,我不确定整个时区的情况。如果服务器和用户之间的时区不同,您可能需要解决这个问题。

【讨论】:

    【解决方案2】:

    2010-10-10 16:56:23

    让它成为 20101010165623

    也以这种格式获取当前时间

    只需将 bot 与整数本身进行比较。

    你明白了!

    或者

    mysql 有 datediff() 函数可以帮助你。

    http://www.w3schools.com/SQl/func_datediff_mysql.asp

    在示例中,您的案例第二个参数将是 now()

    【讨论】:

    • 错了。这不能用于检查是否已过 30 分钟。
    【解决方案3】:

    使用 DATE_ADD 函数并将日期类型转换为您的字符串

    NOW() > DATE_ADD(CAST('2010-10-10 16:56:23' AS date), INTERVAL 30 MINUTE)
    

    http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-add http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html#function_cast

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-28
      • 2019-07-30
      • 2012-05-16
      • 2012-09-15
      • 2021-03-16
      相关资源
      最近更新 更多