JavaScript 日期解析产生错误的日​​期

标签 javascript datetime date

我有这个脚本:

var a="Thu Oct 07 16:50:0 CEST 2010";
var b=a.split("CEST");
var d = new Date(b[0]);
alert(d);​​​​​​​​​​​

但它并没有按照我想要的方式工作。事实上,日期结果与字符串中的原始结果不同。

输入为 Thu Oct 07 16:50:0 CEST 2010,但结果与 Sat Oct 07 2000 16:50:00 GMT+0200 (CEST) 不同。 怎么了?

最佳答案

您只是丢失了有关年份的信息。 split 将字符串拆分为“CEST”处的数组,您仅解析其中的第一个元素(“CEST”左侧的字符串部分)。因此,您要么需要再次添加字符串的正确部分,要么使用更适合的方法,例如 replace:

var a="Thu Oct 07 16:50:0 CEST 2010";
var b=a.split("CEST");
var d = new Date(b[0]+b[1]);
alert(d);​​​​​​​​​​​

var a="Thu Oct 07 16:50:0 CEST 2010";
var b= a.replace('CEST','');
var d = new Date(b);
alert(d);​​​​​​​​​​​

关于JavaScript 日期解析产生错误的日​​期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3886554/

相关文章:

javascript - Jquery .insertBefore 忽略结束标签并自动关闭丢失的标签

javascript - 如何使用 Angular 正确实现 post

sql - 需要按天分割日期时间范围

mysql - 将年时日期间隔转换为天数

java - SOAP UI 中 JAXB 中的空白非强制日期字段问题

php - PHP 和 MySQL 中的日期和时间函数

javascript - Eslint - 超出最大调用堆栈大小

javascript 检索日期,例如 Windows 托盘中的用户本地日期

ruby-on-rails - Ruby 中的年龄计算

javascript - 如何使用 n1ql 查询更新 couchbase 中的数组