我的操作系统(Windows)的语言是丹麦语,我的浏览器的语言也是如此。
当我尝试以丹麦语格式解析日期(dd-MM-yyyy)时:
var x = "18-08-1989"
var date = new Date(x);
我从javascript得到错误的日期(我想要1989年8月18日)。当我将此字符串转换为英语并解析它时,它会返回正确的日期。
使用JS Date对象时,日期字符串的格式是否必须是:yyyy-MM-dd?
答案 0 :(得分:6)
在没有指定语言环境的基本使用中,返回默认语言环境中的格式化字符串并使用默认选项。
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"
答案 1 :(得分:1)