gpt4 book ai didi

javascript - 设置 UTC 日期似乎是在使用夏令时

转载 作者:行者123 更新时间:2023-11-30 08:06:09 27 4
gpt4 key购买 nike

当我尝试添加我约会的月份时,它跳过了 11 月。我相信这是因为 11 月的夏令时。

这是显示它比我想要的跳得更远一天的代码:

var my_date = new Date(1377993599000);
console.log(my_date.toUTCString());

这会输出“Sat, 31 Aug 2013 23:59:59 GMT”

my_date.setUTCMonth(my_date.getUTCMonth() + 3);
console.log(my_date.toUTCString());

这会输出“Sun, 01 Dec 2013 23:59:59 GMT”

现在,当我尝试只添加 2 时:

my_date.setUTCMonth(my_date.getUTCMonth() + 2);
console.log(my_date.toUTCString());

这会输出“2013 年 10 月 31 日星期四 23:59:59 GMT”

当我尝试将日期设置为零时:

my_date.setUTCMonth(my_date.getUTCMonth() + 3, 0);
console.log(my_date.toUTCString());

这会输出“2013 年 10 月 31 日星期四 23:59:59 GMT”

有谁知道解决这个问题的简单技巧?

我是否最好放弃 UTC 功能并简单地从所有时间中删除时区偏移?如果我这样做真的能解决我的问题吗?

最佳答案

没有 11 月 31 日,所以当您将月份加 3 时,它别无选择,只能转到下个月,即 12 月 1 日。

可靠地按月推进的问题很棘手。您可以在执行此操作之前将日期 (.setDate()) 设置为 1,但随后您必须决定如何将其设置回与原始日期相关的日期。

关于javascript - 设置 UTC 日期似乎是在使用夏令时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18004818/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com