Reputation: 435
The javascript Date.toLocaleDateString() is silly.
What I need is a function that allows me to simplify the date according to preference.
It would be nice if there were a function which would read the browser date formats (plural) and take an optional parameter telling it which format to use.
I'll explain: "MM/DD/YYYY" works great for the US and anyone willing to put up with them/us. "DD/MM/YYYY" is the most common format for people interested in a short simple date format. "Weekday, Month DayOfMonth, Year" is only useful if you want a super-long and language-dependent output.
I could use this:
var s = "/";
if(locale=='us')
var dateString = Date.getDate()+s+Date.getDay()+s+Date.getFullYear();
else
var dateString = Date.getDay()+s+Date.getDate()+s+Date.getFullYear();
But I'm looking for a more elegant solution that will allow me to store a date mask or format string so people can change the way their dates are displayed according to their own tastes. (Even the super-long language-dependent one if they like it enough.)
Should I re-prototype the Date.toString() method to interpret parameters? Is there a better way?
Upvotes: 3
Views: 4452
Reputation: 41
You can use DateTimeFormat Api.
var now = new Date(0)
console.log(new Intl.DateTimeFormat('en-US').format(now)); //12/31/1969
console.log(new Intl.DateTimeFormat('en-GB').format(now)); //31/12/1969
See this link for Mozilla documentation: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat
PROS:
PS: if you don't care about bundle size and you want something more "user friendly" and easy to use see moment.js or luxon, they are both great libraries for date operations.
Upvotes: 4
Reputation: 709
I ran into a very powerful library that takes care of dates and generic formatting:
http://blog.stevenlevithan.com/archives/date-time-format
(Wrong link)
http://jawe.net/wiki/dev/jsdateformat/home
Is pretty powerful and configurable. (It supports java-style formats that I need, such as the "MEDIUM" date format)
Moment appears to be useful and feature-full (just no Medium format): https://github.com/timrwood/moment
Upvotes: 2