Как заголовок спрашивает, является ли выход Date.toString()
(точнее, Date.toTimeString()
) всегда в одном формате во всех браузерах?Является ли вывод Date.toString() всегда в том же формате?
Я спрашиваю об этом, так как EMCAScript specification говорит, что «содержимое строки зависит от реализации».
мне нужно, чтобы убедиться в этом, потому что мне нужно форматировать строку, вставляя HTML span
элементы следующим образом:
(new Date()).toTimeString().replace(" GMT", "<span id='offset'> GMT") + '</span>');
Это будет производить (в Google Chrome v28.0.1500.95) что-то вроде
18:19:26<span id="offset"> GMT-0700 (Pacific Daylight Time)</span>
, который я могу тогда стиль с помощью CSS.
Предложения по лучшим способам стилизации результатов также будут замечательными!
У вас уже есть ответ! Это зависит от реализации, как вы упомянули. Поэтому я предлагаю вам не писать код, основанный на результатах текущей реализации. – Mics
Хотя я опаздываю, чтобы ответить на этот вопрос, я остану свои комментарии на благо других, которые приходят на этот вопрос, чтобы получить ответ: - Спецификация понятна. Он гласит: «Содержимое String из toString() зависит от реализации» (см. Ecma-international.org/ecma-262/5.1/#sec-15.9.5.2). Если вам нужно указать дату, то лучше альтернатива является использование toISOString(), которое согласно спецификации строго «YYYY-MM-DDTHH: mm: ss.sssZ» отформатировано. (Refer: ecma-international.org/ecma-262/5.1/#sec-15.9.5.43) –