new Date() 更改小时问题 _ JavaScript



我有这个字符串日期,我想在日期类型中使用它来查询续集。

let date = "2019-08-08T12:53:56.811Z"
let startDate = new Date(date)
console.log(startDate)
->> 2019-08-07T12:53:56.811Z

当我试图插入以 db.it 更改时。

let newTask = Task.create({ time_to_deliver: startDate})
console.log(newTask.time_to_deliver)
->> 2019-08-08 17:23:56

这是什么?是关于时区和UTC时间的东西吗?

我认为如果您在数据库中将"startDate"键设置为"Date"类型而不是"字符串"类型,它将起作用。我已经用MongoDB检查过这个,它对我有用。

"startDate: {type: Date}"

根据@barbsan答案。 续集将日期更改为 LocalString(( 格式。 在查询返回数据时,它转向实际日期。

你可以简单地使用这个JavaScript函数来更好地增强

var d = new Date("July 21, 1983 01:15:00");
var n = d.getDate(); //this will give you 21

还有一个类似的函数可用 - getMonth((,

首先,获取此日期日、月和时间 [您可以使用这些函数的时间 =>1. getTime() and 2. new Date().toISOString()]

然后分别发送这些东西,并在您想要检索时将它们组合在一起。

还有第二种方法;

首先,将日期和时间转换为时间戳,然后将该时间戳输入数据库。

var myDate="26-02-2012";
myDate=myDate.split("-");
var newDate=myDate[1]+"/"+myDate[0]+"/"+myDate[2];
alert(new Date(newDate).getTime());

最新更新