3

我的操作系统(Windows)的语言是丹麦语,我的浏览器的语言也是如此。

当我尝试解析丹麦格式(dd-MM-yyyy)的日期时,如下所示:

var x = "18-08-1989"
var date = new Date(x);

我从 javascript 中得到了错误的日期(我想要 1989 年 8 月 18 日)。当我将此字符串转换为英文并对其进行解析时,它会返回正确的日期。

使用 JS Date 对象时,日期字符串的格式是否总是必须为:yyyy-MM-dd?

4

2 回答 2

7

在不指定语言环境的基本使用中,返回默认语言环境和默认选项的格式化字符串。

var date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0));

// toLocaleString without arguments depends on the implementation,
// the default locale, and the default time zone
date.toLocaleString();
// "12/11/2012, 7:00:00 PM" if run in en-US locale with time zone America/Los_Angeles

使用语言环境

var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));

// formats below assume the local time zone of the locale;
// America/Los_Angeles for the US

// US English uses month-day-year order
alert(date.toLocaleString("en-US"));
// "12/19/2012, 7:00:00 PM"

// British English uses day-month-year order
alert(date.toLocaleString("en-GB"));
// "20/12/2012 03:00:00"

// Korean uses year-month-day order
alert(date.toLocaleString("ko-KR"));
// "2012. 12. 20. 오후 12:00:00"
于 2013-05-02T13:02:36.703 回答
1

在此处查看有关 Date 对象的更多信息: https ://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date

这里关于格式: https ://www.rfc-editor.org/rfc/rfc2822#page-14

于 2013-05-02T12:57:49.567 回答