首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么新日期(“1651214829629”)显示无效日期?

为什么新日期(“1651214829629”)显示无效日期?
EN

Stack Overflow用户
提问于 2022-05-27 02:40:14
回答 2查看 119关注 0票数 2

当我在chrome控制台中运行这段代码时,它显示了以下内容:

代码语言:javascript
运行
复制
>new Date("1651214829629")

Invalid Date

>new Date(1651214829629)

Fri Apr 29 2022 14:47:09 GMT+0800 (中国标准时间)

>new Date("110")

Wed Jan 01 0110 00:00:00 GMT+0805 (中国标准时间)

我不知道为什么"1651214829629"作为字符串是一个无效的日期,但1651214829629作为一个数字是好的。

EN

回答 2

Stack Overflow用户

发布于 2022-05-27 03:36:59

正如谢浩忠所说,如果你给new Date()一个字符串,它就会把它解释成dateString,而不是时间戳。要解析dateString,new Date()将调用Date.parse(),这在ECMAScript docs 这里中有详细说明。Date.parse()将第一次根据dateString解析日期时间字符串格式。日期时间字符串格式表示,如果您只提供一个数字,则该数字将被解释为年份,这通常在0-9999范围内(由ISO8601定义),但ECMAScript提供了一个扩展以支持此范围以外的年份,这将在扩大年份部分中详细说明。有了这一延长,年可在273,790至273,790之间。

所以,当你提供运行new Date("1651214829629")时,Chrome将1651214829629解释为一年。1651214829629不在可接受的范围内,因此它是一个无效日期。

票数 1
EN

Stack Overflow用户

发布于 2022-05-27 03:04:13

当您使用字符串时,new Date()会认为它是一个dateString而不是时间戳。"110"的意思是在1:10,它只是不明白什么是dateString of "1651214829629"

对象/日期/日期

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72399903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档