JS:使用固定时间将今天的日期转换为ISOString()

时间:2015-10-27 22:39:04

标签: javascript date

我尝试将今天的日期转换为ISO标准字符串,但固定时间为T00:00:00.000Z

我可以返回今天日期和时间的ISO字符串:

var isoDate = new Date().toISOString();
// returns "2015-10-27T22:36:19.704Z"

但我想知道是否可以有固定的时间,所以它应该返回:

"2015-10-27T00:00:00.000Z"

这可能吗?

感谢任何帮助。提前谢谢!

1 个答案:

答案 0 :(得分:2)

要在午夜获取当前的UTC日期:

var d = new Date();
d.setUTCHours(0);
d.setUTCMinutes(0);
d.setUTCSeconds(0);
d.setUTCMilliseconds(0);
var output = d.toISOString();

获取当前的本地日期,时间部分设置为UTC午夜:

var d = new Date();
var ts = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate());
var output = new Date(ts).toISOString();

至于使用哪个,请仔细考虑您的要求,当前的UTC日期和当地日期可能确实是两天。

例如,10月27日午夜(00:00)在UTC时间,10月26日晚上8点在纽约。

另外,请考虑使用moment.js,这样可以使startOf('day').utc()函数更轻松地执行这些操作。