我正在Chrome开发者控制台中执行以下操作,
var d = new Date("2010-03-20"); d
Fri Mar 19 2010 17:00:00 GMT-0700 (PDT)
var d = new Date("2010/03/20"); d
Sat Mar 20 2010 00:00:00 GMT-0700 (PDT)
var d = new Date("2010-3-20"); d
Sat Mar 20 2010 00:00:00 GMT-0700 (PDT)
var d = new Date("2010.3.20"); d
Sat Mar 20 2010 00:00:00 GMT-0700 (PDT)
var d = new Date("2010.03.20"); d
Sat Mar 20 2010 00:00:00 GMT-0700 (PDT)
我的问题是为什么#34; 2010-03-20" 3月19日给哪里?
如果我做了getUTCDate(),我得到了20,但为什么它只在2010-03-20有所不同。它是javascript日期中的活动错误吗?
答案 0 :(得分:2)
这不是一个错误,它很尴尬,但intended
快速回答是new Date("2010-03-20")
被解释为ISO-8601日期,默认情况下以UTC(无时区)表示。
使用当前客户端时区信息读取任何其他不符合YYYY-mm-dd
格式的日期字符串('。'而不是' - ','3'而不是'03')。
除此之外,Date.prototype.toString()
根据客户端时区打印日期时间。