Har*_*San 1 javascript timezone date timezone-offset
看起来是一个简单的问题,但是 JS 中所有时区的来龙去脉都让我很头疼。
基本上,如果我有一个如下所示的日期:
2018-04-06
Run Code Online (Sandbox Code Playgroud)
我希望能够获得第二天的日期:
2018-04-07
Run Code Online (Sandbox Code Playgroud)
我在 SO 上找到了以下代码片段来执行此操作(有点):
var date = new Date('2018-04-06');
date.setDate(date + 1);
Run Code Online (Sandbox Code Playgroud)
问题是我正在使用调整后的时区返回日期,并且因为我位于美国东部时间时区,所以它给我的日期减去五个小时,这实际上是我开始的同一天。
我已经浏览了无数的 SO 帖子,试图找到这个看似简单问题的答案,但对于任何给定的日期,无论用户位于哪个时区,如何以 YYYY-MM-DD 格式获取第二天的日期?谢谢。
YYYY-MM-DD 格式的字符串被解析为 UTC,因此在这种情况下,请以 UTC 格式执行所有操作(请参阅为什么 Date.parse 给出不正确的结果?以及如何向当前日期添加 1 天?)。
toISOString方法将返回所需格式的字符串,只需修剪多余的时间部分,例如
let s = '2018-04-06';
let d = new Date(s);
d.setUTCDate(d.getUTCDate() + 1);
console.log(d.toISOString().substr(0,10));Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4501 次 |
| 最近记录: |