日期增加一天

时间:2018-09-03 06:42:34

标签: mongodb momentjs

我的mongodb数据库中有以下格式的日期

{
    "_id" : ObjectId("5b8cd5e5cf36cb517c91910e"),
    "date" : ISODate("2018-09-04T23:58:00.000Z")
}

当我通过在前端使用力矩来显示它时,它会增加一天,因此2018-09-04变成2018-09-05

我在前端

moment(date).format('dddd MMM DD, YYYY')

我希望从数据库中提取相同的日期2018-09-04

感谢您的帮助。

编辑->

当我在后端进行控制台操作时,我会看到此

date: 2018-09-04T23:58:00.000Z

在前端

date: "Thu Sep 06 2018 05:28:00 GMT+0530 (India Standard Time)"

2 个答案:

答案 0 :(得分:2)

Mongodb以ISO格式存储日期,这取决于服务器和客户端所在的位置(在哪个时区中)。您可以使用以下内容。 您获取的日期格式为UTC格式,当将其转换为IST时,它将显示出差异。它表示以下内容:-

如果我将2019-09-26T18:30:00.000Z作为UTC日期。相当于2019年9月27日星期五00:00:00 GMT + 0530(印度标准时间)。请看5小时30分钟的时差。就时区而言,增加/减少任何事情并显示在IST上都是错误的。

如果您这样做

new Date(date).toUTCString()

它将在格林尼治标准时间向您显示“星期四,2019年9月26日18:30:00”。

答案 1 :(得分:1)

这似乎是一个时区问题。

如果我跑步 console.log(moment('2018-09-04T23:58:00.000Z').utcOffset("+00:00").format()); console.log(moment('2018-09-04T23:58:00.000Z').utcOffset("+05:30").format()); console.log(moment('2018-09-04T23:58:00.000Z').utcOffset("+00:00").format('dddd MMM DD, YYYY')); console.log(moment('2018-09-04T23:58:00.000Z').utcOffset("+05:30").format('dddd MMM DD, YYYY'));

我明白了 2018-09-04T23:58:00Z 2018-09-05T05:28:00+05:30 Tuesday Sep 04, 2018 Wednesday Sep 05, 2018

哪一天下班

相关问题