【问题标题】:why the time stamp is not displayed as it is in the database when i try to use it in Nodejs为什么当我尝试在 Nodejs 中使用时间戳时,它没有显示在数据库中
【发布时间】:2017-12-24 03:43:18
【问题描述】:

我显示的 currentStamp:2017-07-11T18:30:00.000Z

我期望的输出是什么:2017-07-12 11:33:58

【问题讨论】:

  • 寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码.没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建minimal reproducible example

标签: mysql node.js


【解决方案1】:

在 Javascript 中,日期和时间用大写 T 分隔。UTC 时间用大写字母 Z 定义。

new Date("2017-07-11T18:30:00.000Z")

等于:

Tue Jul 11 2017 20:30:00 GMT+0200 (CEST)

【讨论】:

  • 如何在没有 T 和 Z 的情况下获得准确时间
【解决方案2】:

JS 在构建选项中没有 DateFormatter。但是有一些 npm 包可以做到这一点,例如 dataformat
这是正常的js代码来做你想做的事。

var x = new Date();
var d = new Date(x.toISOString()),
        month = '' + (d.getMonth() + 1),
        day = '' + d.getDate(),
        year = d.getFullYear();
        hour = d.getHours();
        min = d.getMinutes();
        sec = d.getSeconds();

var output = (year + "-") + 
            (month.length == 1 ? '0' + month : month) + "-" + 
            (day.length == 1 ? '0' + day : day) + " " + 
            (hour.length == 1 ? '0' + hour : hour) + ":" + 
            (min.length == 1? '0' + min : min) +":" + 
            (sec.length == 1? '0' +sec : sec);

这里我放了带有正常 js 日期的代码。但你必须从 mysql 中获取日期。
希望这会有所帮助。谢谢

【讨论】:

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