【问题标题】:Why new Date(yyyy-mm-dd) shows past date? [duplicate]为什么 new Date(yyyy-mm-dd) 显示过去的日期? [复制]
【发布时间】:2025-12-04 05:15:03
【问题描述】:

为什么显示过去的日期

var date = new Date('2020-01-01');

console.log(日期)

2019 年 12 月 31 日星期二 19:00:00 GMT-0500(东部标准时间)

【问题讨论】:

    标签: javascript


    【解决方案1】:

    由于您的时区设置(复活节标准时间是 GMT -0500,因此比 2020-01-01 早 5 小时)。

    Javascript Date 对象是时间戳——它们只包含一个数字 自纪元以来的毫秒数。日期中没有时区信息 目的。这个时间戳是哪个日历日期(天、分、秒) 表示是一个解释问题(其中一个 to...String 方法)。

    基本上是将日期转换为本地时区的 toString 方法。

    Source

    【讨论】:

    • 我应该如何解决它?我怎样才能使它成为标准?
    • @developer 不要使用new Date(string)Date.parse。而是使用Moment.js
    • @Dai Moment.Js 也返回相同的结果
    • @developer 请在您的 Moment.js 代码中发布一个新问题。我怀疑您缺少一些必需的解析器选项。
    • @pitto 所以这是 JS 中的一个问题。日期正是一个日期,没有时间或时区
    最近更新 更多