Is the output of Date.toString() always in the same format?
date, datetime, javascript
Solution
In brief, no, toString does not always output the same format.
new Date().toString()
prints
- "Sat Feb 11 2012 02:15:10 GMT+0100" in Firefox 10
- "Sat Feb 11 2012 02:18:29 GMT+0100 (W. Europe Standard Time)" in Chrome 16
- "Sat Feb 11 02:18:59 UTC+0100 2012" in Internet Explorer 9
I know these are older browser version, but it shows that it is browser dependent.
However, when using `toTimeString()` it appears it always starts with hours:minutes:seconds[space]...
Therefore, you could instead split the string into 2 portions based on the first [space] with:
`indexOf(" ")`
Then wrap the second portion with your span
Moment does some string formatting of dates, but it also does not handle your requested offset string very well as it depends on the toString() method.
I hope that helps
Problem
As the title asks, is the output of `Date.toString()` (more precisely, `Date.toTimeString()`) always in the same format, in all browsers? I ask this since the EMCAScript specification says that the "contents of the String are implementation-dependent". I need to make sure of this because I need to format the string by inserting HTML `span` elements as follows: `(new Date()).toTimeString().replace(" GMT", "<span id='offset'> GMT") + '</span>' );` This would produce (in Google Chrome v28.0.1500.95) something like `18:19:26<span id="offset"> GMT-0700 (Pacific Daylight Time)</span>` which I can then style with CSS. Suggestions for better ways to style the output would also be great!