Rus*_*ano 7 javascript timezone date dayjs
我想解决我遇到的 dayjs 问题。现在,除了错误的时区设置之外,我对会发生什么没有任何线索和/或猜测。但同样,如果我什至没有在代码中的任何地方修改时区,那么时区如何在这里发挥作用呢?
我有一个dayjs对象,我想用它开始新的一天。当将输出打印到控制台时,我得到:
d {
'$L': 'en',
'$d': 2021-03-18T22:00:00.000Z,
'$x': {},
'$y': 2021,
'$M': 2,
'$D': 19,
'$W': 5,
'$H': 0,
'$m': 0,
'$s': 0,
'$ms': 0
}
Run Code Online (Sandbox Code Playgroud)
实际上,这意味着月、日、周、小时、分钟、秒和毫秒选项设置正确(它们全部为零),但日期字段$d绝对错误(由于某种原因它向后移动了 2 小时)。如何正确更新日期?请解释一下为什么会发生这种情况,以便我将来知道如何处理。
使用node.jswithexpress.js继续运行day.js。
Node版本是15.8.0
Express版本是4.17.1
Dayjs版本是1.10.4
提前谢谢了!
fan*_*_pc 13
(抱歉进行了编辑,英语不是我的母语)我可以用我为工作所做的事情来回答,同时其他人可能会用更好的解释来回答。
在dayjs文档中,有一个关于UTC插件的部分,有一个名为.utcOffset()的函数,可用于将小时偏移量设置为0,我使用它是因为我遇到了与您相同的问题,有5小时的差距,所以获取小时数为 0 的日期我这样使用它:
let today = dayjs().utcOffset(0).startOf('date').toDate();
Run Code Online (Sandbox Code Playgroud)
它给了我小时、分钟和秒为零的日期2021-06-15T00:00:00.000Z
我希望它对某人有帮助。