toLocaleDateString Javascript日期格式问题

时间:2013-07-03 23:25:41

标签: javascript string date datetime cross-browser

我有一个脚本,我想将日期格式化为短日期格式,即:

2013年7月3日或7月3日13日,第一个日期格式在Chrome中呈现,但其他所有浏览器都没有 - 它显示日期月份名称和年份。

function dateFormatter(date) {
  return date.toLocaleDateString();
}

对于为什么会发生这种情况感到困惑。是因为浏览器不支持tolocalDateString();

我是否需要构建自定义日期字符串才能使其正常工作?

很抱歉,如果它有点模糊 - 我已经看过W3C网站,但有时不相信该网站。

2 个答案:

答案 0 :(得分:10)

toLocaleDateString的默认格式是实现定义的。如果您想要精确控制所显示的内容,请使用支持locales and options argumentstoLocaleDateString的浏览器。不幸的是,此刻仅意味着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('/');
}