jQuery-日期转换问题

时间:2019-06-03 13:46:56

标签: javascript

使用“ new Date()”转换日期时,将添加我当前的时区。

var date = "2019-06-03T23:32:59.2354387Z";
var date1 = new Date(date);
console.log(date1);

预期结果:03-Jun-19 23:32:00

实际结果:04-Jun-19 02:32:00

请在这里找到小提琴

https://jsfiddle.net/as6htw9p/

2 个答案:

答案 0 :(得分:0)

默认情况下,JavaScript中的日期输出是本地时间。如果需要GMT格式,则应使用UTC get / set。

尝试一下:

utc_date = date1.toUTCString();
console.log(utc_date);

答案 1 :(得分:0)

更适合您的方案并保持格式,这应该可以工作。可惜的是,所提供的整数格式像是“ 1”而不是“ 01”,因此我不得不在变量的开头添加“ 0”。

这应该输出您想要的确切结果。

var date = new Date();
var monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug',
'Sep', 'Oct', 'Nov', 'Dec']

var day = '0' + (date.getDay() + 2); // 003
day = day.slice(-2) + '-'; // 03-

var month = date.getMonth(); // 5
month = monthNames[month]; // Jun
month = month + '-'; // Jun-

var year = date.getFullYear() + ''; // 2019
year = year.slice(-2) + ' '; // 19

var hour = '0' + date.getHours(); // 018
hour = hour.slice(-2) + ':'; // 18:

var minutes = '0' + date.getMinutes(); // 025
minutes = minutes.slice(-2) + ':'; // 25:

var seconds = '0' + date.getSeconds(); // 06
seconds = seconds.slice(-2); // 06

var now = day + month + year + hour + minutes + seconds;