2016-04-13 3 views
0

Когда я создаю новый объект Date из строки, я получаю неправильную дату на один день, и я не понимаю, почему. Я уже проверял, что это не связано с разницей в часовом поясе.Почему новая Date() возвращает дату со смещением за один день?

var myDate new Date("2016-04-12T22:04:00.000Z") 
console.log(myDate); 
Wed Apr 13 2016 00:04:00 GMT+0200 (Central European Summertime) 
+0

часовых поясов ..... –

+4

Потому что это преобразование его в местное время от UTC, как говорится, это +2, так что вы скатать в следующий день так как это 10:04 вечера. – Lloyd

+0

есть способ сохранить его в UTC? – juleee

ответ

0

Вопрос является часовым поясом. 22:04:00 в UTC 00:04:00 в UTC + 2.

Чтобы получить UTC-время, отправьте детали даты с myDate.getUTCHours(), mydate.getUTCMinutes() и т. Д. См. full list of Date methods.

0

Вы можете получить UTC струну

Дата-
var myDate=new Date("2016-04-12T22:04:00.000Z"); 

myDate.toUTCString() 
/* returne value: 
Tue, 12 Apr 2016 22: 04: 00 GMT 
*/ 
+0

Привет, @kennebec, извините меня, чтобы использовать это вопрос как место для общения с вами. Но я использовал вашу потрясающую функцию «sharedStart», но нуждался в помощи с модификацией. Если вы готовы, пожалуйста, помогите мне. Я разместил здесь вопрос: https://stackoverflow.com/q/49134350/1828637 – Noitidart

Смежные вопросы