Showing correct date from API
我为向客户正确显示日期而发疯:
我从API收到data.expiry_date,其值为:2017-09-06T23:59:59Z
显示数据的客户端如下所示:
1 2
| 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,只需重新格式化字符串即可。无需将其解析为日期,然后对其进行格式化,那就是多余的工作。
您不在同一时区。
2017-09-06T23:59:59Z是UTC
与...相同
Thu Sep 07 2017 01:59:59 GMT+0200 (CEST)
- 以及如何向所有用户显示正确的日期?其他所有的到期日期都可以,这一天要少一天。它应按时区独立显示07/09/2017 ...
-
@AyeyeBrazo它不会减少/增加一天的时间,它会减少/增加两个小时的时间,因为您比UTC提前了2个小时。这是正确的日期/时间。