【问题标题】:Showing correct date from API [duplicate]显示来自 API 的正确日期 [重复]
【发布时间】:2018-02-23 07:17:21
【问题描述】:

我对向客户正确显示日期感到疯狂:

从 API 我收到data.expiry_date,它的值为:2017-09-06T23:59:59Z

显示数据的客户端如下所示:

var date = new Date(data.expiry_date);
$('#expiry_date').val(`${date.getDate()}/${date.getMonth() + 1}/${date.getFullYear()}`);

结果比预期提前一天:应该是 06/09/2017,但显示的是 07/09/2017

基本上,来自操作var date = new Date(data.expiry_date);date 值是:Thu Sep 07 2017 01:59:59 GMT+0200 (CEST)

我怎样才能摆脱它?

【问题讨论】:

  • 抱歉,复制/粘贴日志时出现拼写错误。我纠正了我的问题。谢谢你告诉我!
  • 如果您只想将日期显示为 07/09/2017,只需重新格式化字符串。无需将其解析为 Date 然后对其进行格式化,这只是不必要的工作。

标签: javascript date


【解决方案1】:

你们不在同一个时区。 2017-09-06T23:59:59Z 是 UTC 这与 Thu Sep 07 2017 01:59:59 GMT+0200 (CEST)

【讨论】:

  • 我怎样才能向所有用户显示正确的日期?所有其他到期日期都可以,这个日期少了一天...它应该按时区独立显示 07/09/2017...
  • @AyeyeBrazo 它没有少/多一天,它少/多两个小时,因为您比 UTC 提前 2 小时运行。这是正确的日期/时间。
猜你喜欢
  • 2020-02-11
  • 2019-05-27
  • 1970-01-01
  • 1970-01-01
  • 2020-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-07
相关资源
最近更新 更多