I've got a script and i want to format a date out to short date format ie:
7/3/2013 or 7/3/13 the first date format renders like that in Chrome but every other browser it does not - it displays the date month name and the year.
function dateFormatter(date) {
return date.toLocaleDateString();
}
Bit confused as to why this is happening. Is it because that browser doesnt support tolocalDateString();
Would i need to build a custom date string in order for it to work?
Sorry if its a little vague - I've had a look on W3C website but dont trust that site at times.
To format a date as dd/mm/yyyy:Use the getDate() , getMonth() and getFullYear() methods to get the day, month and year of the date. Add a leading zero to the day and month digits if the value is less than 10 .
The format() method of DateFormat class is used to convert Date into String. DateFormat is an abstract class.
The default format of toLocaleDateString
is implementation-defined. If you want precise control of what's displayed, use a browser supporting locales
and options
arguments to toLocaleDateString
. Unfortunately, at the moment that means only Chrome.
If you don't care about the user and their locale and would like to confuse everyone with US date format, then yes, you can hardcode the date parts as @kennebec suggested.
function dateFormatter(date){
if(Date.parse('2/6/2009')=== 1233896400000){
return [date.getMonth()+1, date.getDate(), date.getFullYear()].join('/');
}
return [date.getDate(), date.getMonth()+1, date.getFullYear()].join('/');
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With