我尝试将今天的日期转换为ISO标准字符串,但固定时间为T00:00:00.000Z
。
我可以返回今天日期和时间的ISO字符串:
var isoDate = new Date().toISOString();
// returns "2015-10-27T22:36:19.704Z"
但我想知道是否可以有固定的时间,所以它应该返回:
"2015-10-27T00:00:00.000Z"
这可能吗?
感谢任何帮助。提前谢谢!
答案 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()
函数更轻松地执行这些操作。