6

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

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

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

有点困惑为什么会这样。是不是因为那个浏览器不支持 tolocalDateString();

我需要构建一个自定义日期字符串才能使其工作吗?

对不起,如果它有点含糊 - 我看过 W3C 网站,但有时不信任该网站。

4

2 回答 2

10

的默认格式toLocaleDateString是实现定义的。如果您想精确控制显示的内容,请使用浏览支持localesoptionstoLocaleDateString. 不幸的是,目前这意味着只有 Chrome。

如果您不关心用户及其语言环境,并且想用美国日期格式混淆每个人,那么可以,您可以按照@kennebec 的建议对日期部分进行硬编码。

于 2013-07-04T00:42:35.980 回答
4
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('/');
}
于 2013-07-03T23:52:11.203 回答