【问题标题】:Javascript Date unnecessarily adjusts for timezone [duplicate]Javascript日期不必要地调整时区[重复]
【发布时间】:2020-06-11 01:31:04
【问题描述】:

我将日期作为 django DateField 存储在我的数据库中。它只是在数据库中看起来像“2020-06-25”。

这个字符串是从我的 api 返回的,并像这样传递到一个 javascript“日期”中:

date = new Date(due_date)

记录此日期会导致:

Wed Jun 24 2020 17:00:00 GMT-0700 (Pacific Daylight Time)

我不在乎时间,只在乎日期。如何让 javascript Date 忽略时间,而不是针对数据库和本地用户之间的时区差异进行调整?如果用户将项目的截止日期设置在一个时区,我希望每个人都看到相同的截止日期。

【问题讨论】:

  • due_date 是什么样的?因为new Date(2020-06-25) 会导致这个2020-06-25T00:00:00.000Z
  • @Sven.hig 有趣...new Date("2020-06-25") 给了我Wed Jun 24 2020 17:00:00 GMT-0700 (Pacific Daylight Time)
  • YYYY-MM-DD 格式的日期被解析为 UTC,几年前的 decision by the TC39 相当糟糕。

标签: javascript django date datetime


【解决方案1】:

Converting a string to a date in JavaScript

这引导我找到答案。浏览器对此的处理方式不同,但您可以强制日期以 UTC 时间显示,而不是让浏览器决定是否要转换为最终用户的本地时间。

【讨论】:

  • 这不是一个答案,它可能是一个有用的评论。如果您认为它是重复的,请将其标记为一个。
猜你喜欢
  • 2023-03-02
  • 2016-09-12
  • 1970-01-01
  • 1970-01-01
  • 2019-06-05
  • 2013-06-29
  • 2016-09-18
  • 2016-02-25
  • 2012-04-20
相关资源
最近更新 更多