首页 > 解决方案 > Jquery-日期转换问题

问题描述

使用“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/

标签: javascript

解决方案


在保持格式的情况下更具体到您的场景,这应该有效。遗憾的是,提供的整数格式为“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;

推荐阅读