Ответ 1
Это работает во всех браузерах на моем ящике - попробуйте в консоли:
alert(new Date('2001/01/31 12:00:00'))
так
new Date('2001-01-01T12:00:00Z'.replace(/\-/g,'\/').replace(/[T|Z]/g,' '))
IE8, FF3.6, Safari4, Chrome
Я работаю с датами в RSS-канале, но я нахожу разные результаты при использовании кода ниже в IE, Chrome и Firefox:
new Date('2001-01-01T12:00:00Z')
Firefox доволен этим, но Chrome и IE возвращают недопустимую дату.
Я думал, что попробую заменить T и Z следующим образом:
new Date('2001-01-01 12:00:00')
На этот раз Chrome доволен этим, но Firefox и IE возвращают недопустимую дату.
Любые идеи, что я должен сделать, чтобы получить объект даты во всех браузерах с этим форматом?!
Большое спасибо, Тим
Это работает во всех браузерах на моем ящике - попробуйте в консоли:
alert(new Date('2001/01/31 12:00:00'))
так
new Date('2001-01-01T12:00:00Z'.replace(/\-/g,'\/').replace(/[T|Z]/g,' '))
IE8, FF3.6, Safari4, Chrome
Вы также можете попробовать использовать Date.js - библиотеку манипуляций датой с открытым исходным кодом.
Это работает во всех основных 5 браузерах и заставляет все браузеры распознавать время как GMT/UTC, а не местное время (суффикс Z означает время UTC):
new Date('2001-01-01T12:00:00Z'.replace(/\-/g,'\/').replace(/T/,' ').replace(/Z/,' -0'))
Я благодарю mplungjan за его ответ.
Можете ли вы попробовать:
new Date(2001,0,1,12,0,0)
Это означает:
new Date(year,month,day,hour,minutes,seconds)