我想用JavaScript解析不带时区的日期.我试过了:

new Date(Date.parse("2005-07-08T00:00:00+0000"));

返回Fri Jul 08 2005 02:00:00 GMT+0200(中欧夏时制):

new Date(Date.parse("2005-07-08 00:00:00 GMT+0000"));

返回相同的结果,并且:

new Date(Date.parse("2005-07-08 00:00:00 GMT-0000"));

也会返回相同的结果.

我想分析时间:

  1. 没有时区.
  2. 不调用构造函数Date.UTC或新的Date(year, month, day).
  3. 只需将字符串传递给日期构造函数(无需原型方法).

我必须生成日期对象,而不是字符串.

推荐答案

日期解析正确,只有toString将其转换为本地时区:

let s = "2005-07-08T11:22:33+0000";
let d = new Date(Date.parse(s));

// this logs for me 
// "Fri Jul 08 2005 13:22:33 GMT+0200 (Central European Summer Time)" 
// and something else for you

console.log(d.toString()) 

// this logs
// Fri, 08 Jul 2005 11:22:33 GMT
// for everyone

console.log(d.toUTCString())

Javascript日期对象是时间戳——它们只包含从纪元开始的毫秒数.日期对象中没有时区信息.这个时间戳代表哪个日历日期(天、分钟、秒)是一个解释问题(to...String种方法之一).

上面的例子表明,该日期被正确解析——也就是说,它实际上包含了与GMT中的"2005-07-08T11:22:33"相对应的毫秒数.

Javascript相关问答推荐

IOS(React Native)中未找到模块SquareReaderSDK

在Chart.js 4.4.2中移动到不同大小的容器时,图表不会调整大小

d3可排序表标题行中有收件箱--如何使收件箱不触发排序?

React redux状态未在React-Router库中呈现

Angular:ng-contract未显示

创建1:1比例元素,以另一个元素为中心

成帧器运动中的运动组件为何以收件箱开始?

使用JavaScript在ionic Web应用程序中更新.pane和.view的背景 colored颜色

Phaser 3 console. log()特定游戏角色的瓷砖属性

如何在输入元素中附加一个属性为checkbox?

PDF工具包阿拉伯字体的反转数字

如何在ASP.NET JavaScript中使用Google Charts API仅对绘制为负方向的条形图移动堆叠条形图标签位置

Angular 形式,从DOM中删除不会删除指定索引处的内容,但会删除最后一项

如何在.NET Core中将chtml文件链接到Java脚本文件?

如何将zoom 变换应用到我的d3力有向图?

如果一个字符串前面有点、空格或无字符串,后面有空格、连字符或无字符串,则匹配正则表达式

有没有一种直接的方法可以深度嵌套在一个JavaScript对象中?

无法重定向到Next.js中的动态URL

FileReader()不能处理Firefox和GiB文件

使用Reaction窗体挂钩注册日历组件