【问题标题】:Get MySQL Server time as part of a Sequelize findOne() query获取 MySQL 服务器时间作为 Sequelize findOne() 查询的一部分
【发布时间】:2018-01-31 14:57:56
【问题描述】:

作为在我的 Sequelize 模型上调用 findOne()(或自定义方法)的一部分,我想取回该模型中具有数据库当前日期时间的字段。

或者,有没有更好的方法来解决这个问题:我想将updatedAt字段中的值与数据库服务器的当前时间戳进行比较。

【问题讨论】:

    标签: mysql node.js sequelize.js


    【解决方案1】:

    在大多数情况下,DB 服务器的当前时间是您的服务器系统的当前时间减去时区(小时/分钟),因为 DB 默认使用通用时间来存储时间戳。

    但是当您获取该日期并在服务器代码中尝试 new Date() 时,它会自动将其转换为当前时区。

    因此,您只需比较 new Date() 和 new Date(modelData.updatedAt) 即可找出答案。

    【讨论】:

    • 假设 MySQL 在另一台机器上运行,那么您不是将在一台服务器上创建的 DateTime 与在另一台服务器上创建的 DateTime 进行比较,并且这些系统时钟的时间可能不同。即一个可能比另一个更快。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-20
    • 2013-11-04
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多