Javascript Date 字符串构造错误的日期
Javascript Date string constructing wrong date
嗨,我正在尝试用字符串构造一个javascript日期对象,但它一直在构建错误的日期。它总是构建一天落后一天。这是我的代码
var date = new Date('2006-05-17');
我想得到的日期是
Wednesday May 17 2006 00:00:00 GMT-0700 (PDT)
但相反,我得到了
Tue May 16 2006 17:00:00 GMT-0700 (PDT)
将日期作为字符串传递时,实现是特定于浏览器的。 大多数浏览器将破折号解释为时间采用 UTC。 如果您与 UTC 有负偏移量(您确实如此),它将在前一天显示。
如果您想要本地日期,请尝试改用斜杠,如下所示:
var date = new Date('2006/05/17');
当然,如果您不必从字符串中解析,则可以改为传递单个数字参数,只需注意月份在以数字方式传递时是从零开始的。
var date = new Date(2006,4,17);
但是,如果您有字符串,并且您希望将这些字符串解析为日期的方式保持一致,请使用 moment.js。
var m = moment('2006-05-17','YYYY-MM-DD');
m.format(); // or any of the other output functions
实际发生的是,解析器将您的破折号解释为格式为"YYYY-MM-DDTHH:mm:ss.sssZ"格式的 ISO-8601 字符串的开头,默认情况下采用 UTC 时间(因此尾随"Z")。
您也可以使用 "toISOString()" date 函数生成此类日期。http://www.w3schools.com/jsref/jsref_toisostring.asp
在Chrome中(在IE 10-中不起作用),如果您在日期中添加" 00:00"或" 00:00:00"(没有"T"),那么无论破折号如何,它都不再是UTC。 ;)
从"05"中删除前面的零
相关文章:
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- Chrome Javascript日期构造函数错误
- javascript日期减去小时-错误
- 如何修复FF和IE中的Javascript无效日期错误
- javascript创建日期的月份错误
- Javascript设置日期不起作用,显示错误的时间
- 他们网站上的代码出现启动日期选择器错误
- webkit输入类型=在错误日期发送空值的日期
- Date.js错误地分析了ISO 8601 UTC日期
- 在JavaScript中解析日期时得到错误的结果
- Jquery 日期时间选取器错误
- 显示/返回错误日期的Javascript日期
- JQuery 完整日历在月视图中的错误日期呈现事件
- 获取两个日期之间的日期返回指定日期范围之外的错误日期
- 猫鼬中的错误日期
- 在x轴折线图上绘制错误日期的高位图表(高位股票)
- 错误日期类型(Google可视化)
- 未捕获的类型错误:$(…).日期选择器上的日期选择器错误
- 未捕获类型错误:$(…).日期时间选择器不是一个函数
- 全日单击“返回错误日期”