我有一个脚本,我想将日期格式化为短日期格式,即:
2013年7月3日或7月3日13日,第一个日期格式在Chrome中呈现,但其他所有浏览器都没有 - 它显示日期月份名称和年份。
function dateFormatter(date) {
return date.toLocaleDateString();
}
对于为什么会发生这种情况感到困惑。是因为浏览器不支持tolocalDateString();
我是否需要构建自定义日期字符串才能使其正常工作?
很抱歉,如果它有点模糊 - 我已经看过W3C网站,但有时不相信该网站。
答案 0 :(得分:10)
toLocaleDateString
的默认格式是实现定义的。如果您想要精确控制所显示的内容,请使用支持locales
and options
arguments到toLocaleDateString
的浏览器。不幸的是,此刻仅意味着Chrome。
如果您不关心用户及其语言环境,并希望将每个人与美国日期格式混淆,那么是的,您可以按照@kennebec的建议对日期部分进行硬编码。
答案 1 :(得分:3)
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('/');
}