我想整理一下我正在经历的一个日常问题。现在,除了糟糕的时区设置之外,我已经没有线索和/或猜测会发生什么了。但是,如果我在代码中任何地方都不修改时区,它怎么能在这里扮演一个角色呢?
我有一个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
}
这意味着正确设置了月份、日、周、小时、分钟、秒和毫秒选项(它们都为零),但是$d
中的date字段是绝对错误的(由于某种原因,它被移回了2小时)。如何使日期更新也是正确的?请解释一下为什么会发生这样的事情,这样我就知道以后该如何处理了。
使用node.js
与express.js
一起运行day.js
。Node版本是15.8.0 Express版本是4.17.1 Dayjs版本是1.10.4
事先非常感谢!
发布于 2021-06-15 17:22:33
(不好意思,英语不是我的第一语言)我可以用我为我的工作做的一些事情来回答,同时其他人也会给我一个更好的解释。
在dayjs文档中有一个UTC插件的部分--有一个名为.utcOffset()的函数,它可以用来将偏移量设置为0,我使用它是因为我有与您5小时间隔相同的问题,所以为了获得包含小时数0的日期,我使用了如下方式:
let today = dayjs().utcOffset(0).startOf('date').toDate();
它给出了以零2021-06-15T00:00:00.000Z表示的小时、分钟和秒的日期。
我希望它能对某人有所帮助。
https://stackoverflow.com/questions/66705548
复制相似问题