如何在node.js中存储印度标准时间(IST)格式的日期和时区?



我已经安装了moment-timezone node-module并正确获取日期,但当我试图将其保存到数据库时,它正在转换回另一个时区。

const moment = require('moment-timezone');
const dateIndia = moment.tz(Date.now(), "Asia/Kolkata");
console.log(dateIndia);

这里控制台正在打印正确的IST时间:

Moment<2022-06-04T15:08:08+05:30>

然后我将它从模式存储到数据库中:

bookingDate: {
type: Date, 
default: dateIndia,
required: true,
},

但是它是保存日期到UTC时区,像这样:

2022-06-04T09:18:38.540+00:00

这不是关于你的NodeJS。这是您的数据库时区配置。你可以用下面两个中的一个来解决这个问题:

1 -更改数据库时区配置2 -当你从数据库中获取数据时,只需使用与创建日期相同的函数,并将其转换回你想要的时区:

let dateUTC = (moment.tz(databaseDate, "UTC");
let dateIndia = dateUTC.tz("Asia/Kolkata").format()

最新更新