2014-12-27 2 views
0

Я преобразовываю объект даты на дату, но получаю на один день меньше. Я искал googled, но не мог понять, как изменить правильный результат. Может ли кто-нибудь помочь мне или дать мне ссылку, откуда я могу это понять.javascript date issue с ​​часовым поясом

new Date("2001-02-03") 

браузер resut: Fri Feb 02 2001 19:00:00 GMT-0500 (EST).

ожидается: Fri Feb 03 2001 19:00:00 GMT-0500 (EST).

+0

, какой браузер вы используете? – user1428716

+0

Mine - хром-браузер –

ответ

2

Браузер представляет JS датирует с часовым поясом системы принимается во внимание. Данная строка даты не имеет временной части, поэтому она принимает 00:00:00 за время. Кажется, что вы находитесь в часовом поясе -05:00, поэтому дата будет отображаться на пять часов позади указанного вами времени, которое составляет 7 вечера в предыдущий день. Вы можете использовать toUTCString(), чтобы увидеть информацию о дате без часовой пояс.

var d = new Date("2001-02-03"); 
d.toUTCString() 
"Sat, 03 Feb 2001 00:00:00 GMT" 

или в более короткой форме

(new Date("2001-02-03")).toUTCString() 
+0

благодарит за ответ. я не могу преобразовать результат в объект даты? Я имею в виду, что я хочу, чтобы результат toUTCString() был объектом даты. –

+0

Внутренний указатель даты и времени вашего объекта находится в 'Sat, 03.02.2001 00:00:00 GMT'. Преобразовать нечего. Он всегда будет отображаться в соответствии с часовым поясом, если вы не укажете его. – marekful

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