如何将当地时间转换为UTC时间相同的日期,但时间设置为午夜

时间:2017-12-05 11:41:11

标签: javascript momentjs

我有这个时间

Tue Dec 05 2017 17:05:51 GMT+0530 (IST)

我想将其转换为

Tue Dec 05 2017 00:00:00 GMT

3 个答案:

答案 0 :(得分:0)

你可以尝试这个 - >



var date = new Date().toString();
var dateArray = date.split(' ');
dateArray.splice(4);
dateArray.push('00:00:00 GMT');
var newDate = dateArray.join(' ');
console.log(newDate);




答案 1 :(得分:0)

您可以尝试这样做:

//Convert string to Date object
var d = new Date(Date.parse('Tue Dec 05 2017 17:05:51 GMT+0530 (IST)'))

然后运行:

//crux: get utc offset from epoch in milliseconds and use .toUTCString(...) to offset timezone
var ms = Date.UTC(d.getYear()+1900, d.getMonth(), d.getDate(), 0, 0, 0)
console.log(new Date(ms).toUTCString(ms)) 

如果这不符合您的要求,请告诉我。感谢。

答案 2 :(得分:0)

因为你要求UTC我认为这个是最简单的:



var input = "Tue Dec 05 2017 17:05:51 GMT+0530 (IST)"
var date = new Date(input);
date.setHours(1);
date.setMinutes(0);
date.setSeconds(0);
date.setMilliseconds(0);
console.log(date.toUTCString());