在javascript中使用new date()时获取错误的日期
我将ISO datetime值存储在数据库中,当使用在javascript中使用new date()时获取错误的日期,javascript,node.js,reactjs,typescript,Javascript,Node.js,Reactjs,Typescript,我将ISO datetime值存储在数据库中,当使用new Date()方法时,它显示错误的日期 当我使用new Date().toISOString()时,输出是2021-05-05T13:33:35.673Z,当我使用new Date(event.Date).toISOString()时,输出是2021-05-05T18:47:00.000Z 但是当我尝试newdate().getDate()时,输出是5,但是对于newdate(event.Date).getDate()来说,输出是6。为什
new Date()
方法时,它显示错误的日期
当我使用new Date().toISOString()
时,输出是2021-05-05T13:33:35.673Z
,当我使用new Date(event.Date).toISOString()
时,输出是2021-05-05T18:47:00.000Z
但是当我尝试
newdate().getDate()
时,输出是5
,但是对于newdate(event.Date).getDate()
来说,输出是6
。为什么它是6
而不是5
?这里的混淆是getDate
使用您的本地时区,但是toISOString
以UTC显示信息
如果需要ISO字符串中的同一天值(UTC),请使用getUTCDate
:
console.log(新日期(“2021-05-05T18:47:00.000Z”).getUTCDate()代码>event.dateevent.date的值是多少?因此您得到了正确的输出。你期望的是什么,为什么?我得到了错误的输出,因为我得到了答案3;(@IshanJoshi-与上面的代码无关,您描述的输入也不会。我猜您不小心使用了getUTCDay
(一周中的一天),而不是getUTCDate
(一个月中的一天)。(getUTCDay
确实会给您3,因为5号是星期三,0=星期天,1=星期一,…)好的,谢谢。真是个愚蠢的错误。我花了30分钟