Jak pyta tytuł, czy dane wyjściowe z Date.toString()
(dokładniej: Date.toTimeString()
) są zawsze w tym samym formacie we wszystkich przeglądarkach?Czy dane wyjściowe funkcji Date.toString() są zawsze w tym samym formacie?
Pytam o to, ponieważ EMCAScript specification mówi, że "zawartość ciągu jest zależna od implementacji".
muszę się upewnić, z tego powodu trzeba sformatować ciąg przez wstawienie elementów HTML span
następująco:
(new Date()).toTimeString().replace(" GMT", "<span id='offset'> GMT") + '</span>');
byłoby to produkować (w Google Chrome v28.0.1500.95) coś
18:19:26<span id="offset"> GMT-0700 (Pacific Daylight Time)</span>
które mogę potem styl z CSS.
Sugestie dotyczące lepszych sposobów kształtowania wyników również byłyby wspaniałe!
Masz już odpowiedź! Jest to * zależne od implementacji *, o czym wspomniałeś. Sugeruję więc, abyś nie pisał kodu w oparciu o wynik obecnej implementacji. – Mics
Mimo że jestem spóźniony, aby odpowiedzieć na to pytanie, zostawiam moje komentarze dla korzyści innych, którzy wylądują w tym pytaniu, szukając odpowiedzi: - Specyfikacja jest jasna. Brzmi to następująco: "Treść ciągu znaków od toString() zależy od implementacji" (zobacz: ecma-international.org/ecma-262/5.1/#sec-15.9.5.2) Jeśli musisz splajtować date, lepsza alternatywa należy użyć do funkcji toOSOString(), która zgodnie ze specyfikacją ma format "YYYY-MM-DDTHH: mm: ss.sssZ". (Patrz: ecma-international.org/ecma-262/5.1/#sec-15.9.5.43) –