Page 136 - 6105
P. 136
alert (d.toISOString ()); // висновок, схожий на '2011-
01-26T13: 51: 50.417Z'
Всі сучасні браузери, включаючи IE9 +, розуміють дату в спрощеному
форматі ISO 8601 Extended. Цей формат виглядає так: YYYY-MM-DDTHH: mm:
ss.sssZ, де:
YYYY-MM-DD – дата в форматі рік-місяць-день.
Звичайний символ T використовується як роздільник.
HH: mm: ss.sss – час: година-хвилини-секунди-мілісекунди.
Частина 'Z' позначає тимчасову зону - в форматі + -hh: mm, або символ Z,
що позначає UTC. За стандартом її можна не вказувати, але в Safari з цим
помилка, так що краще вказувати завжди.
Також можливі скорочені варіанти подання дати, наприклад YYYY-MM-DD
або YYYY-MM або навіть тільки YYYY.
Метод Date.parse (str) розбирає рядок str в такому форматі і повертає
значення відповідної йому кількості мілісекунд. Якщо це неможливо, Date.parse
повертає NaN.
Наприклад:
var msUTC = Date.parse ( '2012-01-26T13: 51: 50.417Z');
// зона UTC
alert (msUTC); // 1327571510417 (число мілісекунд)
З врахуванням таймзони -07: 00 GMT:
var ms = Date.parse ( '2012-01-26T13: 51: 50.417-07:
00');
alert (ms); // 1327611110417 (число мілісекунд)
До появи специфікації ECMAScript 5 формат не був стандартизований, і
браузери, включаючи IE8-, мали свої власні формати дат. Частково, ці формати
перетинаються. Наприклад, код нижче працює всюди, включаючи старі IE:
var ms = Date.parse ( "January 26, 2011 13:51:50");
135