I've to represent the date with local user's configurations. Follows the MDN description:
The toLocaleDateString method relies on the underlying operating system in formatting dates. It converts the date to a string using the formatting convention of the operating system where the script is running. For example, in the United States, the month appears before the date (04/15/98), whereas in Germany the date appears before the month (15.04.98).
I do this:
var date = new Date ();
console.log (date.toLocaleDateString ());
It prints out Saturday, October 13, 2012
but what I expect is Sabato, 13 Ottobre, 2012
(that's the Italian date format).
Now, configurations of my browser and my system are set properly (Italian language and the above format date) so I don't understand how does toLocaleDateString
work.
Am I doing it right?
I've to represent the date with local user's configurations. Follows the MDN description:
The toLocaleDateString method relies on the underlying operating system in formatting dates. It converts the date to a string using the formatting convention of the operating system where the script is running. For example, in the United States, the month appears before the date (04/15/98), whereas in Germany the date appears before the month (15.04.98).
I do this:
var date = new Date ();
console.log (date.toLocaleDateString ());
It prints out Saturday, October 13, 2012
but what I expect is Sabato, 13 Ottobre, 2012
(that's the Italian date format).
Now, configurations of my browser and my system are set properly (Italian language and the above format date) so I don't understand how does toLocaleDateString
work.
Am I doing it right?
Share Improve this question edited Oct 13, 2012 at 9:56 Patrick 18k6 gold badges72 silver badges85 bronze badges asked Oct 13, 2012 at 9:05 WilkWilk 8,14310 gold badges47 silver badges71 bronze badges 7-
are you sure you've entered
toLocaleDateString
and nottoLocaleString
? – wnrph Commented Oct 13, 2012 at 9:09 - All the specification is saying is that it is implementation-dependent: es5.github./#x15.9.5.6 (and that it is intended to represent the date in the current locale, but well, it's just that, intended). – Felix Kling Commented Oct 13, 2012 at 9:12
- @artistoex both Firefox (16) and Chromium (18). The system is Ubuntu (11.10) – Wilk Commented Oct 13, 2012 at 9:20
- MDN doesn't seem to be too correct there. For Chrome, the source shows that it simply uses hardcoded, English names for days/months. There is no check for the current locale. – pimvdb Commented Oct 13, 2012 at 9:50
-
Well, I leave this question open so if things change, someone (or me) can post the solution. What a pity,
toLocaleDateString
would have been an interesting implementation of local date. – Wilk Commented Oct 14, 2012 at 8:54
2 Answers
Reset to default 0According to the Mozilla documentation, the format can vary wildly depending on the user's location and puter settings.
https://developer.mozilla/en/JavaScript/Reference/Global_Objects/Date/toLocaleDateString
The exact format depends on the platform, locale and user's settings.
This question is out-of-date.
These are my tests:
(new Date ()).toLocaleDateString () -> "4/9/2013" (italian format 'd/m/Y') with Chrome 29
(new Date ()).toLocaleDateString () -> "mercoledì 4 settembre 2013" (italian format 'D d M Y') with Firefox 22
It works with newest browsers versions.