【问题标题】:Sequlize js / express js / node js how to change the date formatSequelize js/express js/node js如何更改日期格式
【发布时间】:2019-03-26 09:43:08
【问题描述】:

当我看到存储在数据库中的日期时。

这是正常。日期和时间就这些了。

但是当我运行 get 请求来获取数据时。

此格式与存储在数据库中的格式不同。为什么会发生这种情况?

【问题讨论】:

    标签: node.js express sequelize.js


    【解决方案1】:

    我们不需要为这些事情安装任何包,因为我们可以使用 MySQL 本身来处理日期格式 从你的照片我可以看出你正在使用 MySQL

    只使用 MySQL 中的 dateformat

    Select id, date_format(createdAt, '%d-%m-%Y %r') from table_name;
    

    注意:%r 表示上午或下午的时间

    深入了解:https://www.w3schools.com/sql/func_mysql_date_format.asp

    如需进一步帮助,您可以发表评论

    【讨论】:

      【解决方案2】:

      此格式与存储在数据库中的格式不同。为什么会发生这种情况?

      答案是:

      当您从 DB 获取数据时,Sequlize js 会将其转换为 UTC 时间,并且 DB UI 会将您显示为您的本地时区。因此,无需担心它的存储和提供 100% 正确的日期。

      确保:

      您可以从 DB 中获取日期和时间并将其转换为 UTC ,然后您可以使用 Sequlize js 返回的结果来检查那个。

      要更改日期格式可以使用 moment.js ,我想这可以解决你所有的疑问

      【讨论】:

      • 亲爱的 Vivek,我来自 +05:30 时区(印度/斯里兰卡),我也在 sequlize 选项中设置了时区。我的最终目标是比较存储在数据库中的时间。例如:-approved_date: db.Sequelize.fn('CURRENT_DATE') 如果我在 sequelize js 中正确设置了时区,我还需要做这个运动 js 的事情吗?
      【解决方案3】:

      您在数据库中选择了带有时区的数据类型时间戳,这就是为什么它为您提供时区时间

      【讨论】:

        【解决方案4】:

        我认为您可以在客户端或服务器上使用moment.js 进行此类工作

        【讨论】:

          猜你喜欢
          • 2019-05-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多