问题
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.
回答1:
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('/');
}
回答2:
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.
来源:https://stackoverflow.com/questions/17459697/tolocaledatestring-javascript-date-format-issues