toLocaleDateString()没有返回dd / mm / yyyy格式

时间:2014-03-28 17:19:48

标签: javascript jquery html date

您好我使用toLocaleDateString()来显示来自RSS Feed的日期,而不是在所有浏览器中显示dd/mm/yyyy格式, safari mozila 它的显示方式不同,但 chrome 显示正确。

3 个答案:

答案 0 :(得分:22)

toLocaleDateString旨在根据用户自己的计算机的规则提供人类可读的格式。例如,如果我的计算机设置为法语,则可能包含法语日期名称。

toLocaleDateString不是获取所需格式的可靠方法。相反,这样做:

var dateobj = new Date();
function pad(n) {return n < 10 ? "0"+n : n;}
var result = pad(dateobj.getDate())+"/"+pad(dateobj.getMonth()+1)+"/"+dateobj.getFullYear();

答案 1 :(得分:6)

我一直在寻找这个问题的答案,但是以上答案并没有给出使用dd/mm/yyyy将日期转换为toLocaleDateString()的脚答案。

根据docs toLocaleDateString(),将日期转换为具有日期部分的语言敏感表示形式的字符串。此方法接受下面描述的两个参数dateObj.toLocaleDateString( [locales][, options])

  • 语言环境:此参数是包含一个或多个语言或语言环境标签的语言环境字符串数组。请注意,这是一个可选参数。如果要使用特定格式的应用程序中的语言,然后在locales参数中指定该语言。一些参数为:

    • zh-CN::美国英语使用月-日-年-年顺序,即 2020年7月17日
    • zh-CN:英式英语使用日-月-年顺序,即1 2020年7月7日
    • ko-KR::韩国使用年月日顺序,即 2020。 07. 17。
  • 选项:这也是一个可选参数,包含用于指定比较选项的属性。某些属性包括localeMatcher,timeZone,dayday,year,month,month,day,hour,min,second等。

因此,您可以在此处使用此方法将日期转换为dd/mm/yyyy格式:

let dateFormat=new Date().toLocaleDateString('en-GB', {
month: '2-digit',day: '2-digit',year: 'numeric'})
console.log(dateFormat)

答案 2 :(得分:4)

之前已经回答过:

根据Mozilla文档,格式可能会因用户的位置和计算机设置而异。

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toLocaleDateString

确切的格式取决于平台,区域设置和用户的设置。

.toLocaleDateString() Not Working in Firefox