由于夏令时时区,getDate() 给出了错误的日期

getDate() giving wrong date due to Daylight saving timezone

我正在努力以正确的格式格式化 js 日期,但不确定我这样做是否正确。 所以这是我的情况:

我导入的数据强烈依赖于对象中包含的小时数。有时我会收到 GMT +1 格式的日期,有时会收到 GMT +2 格式的日期。我发现它取决于夏令时日期格式。

但现在的问题是,当我尝试处理这些数据并从 12 月开始寻找对象时,函数 getDate() 会在前一天 return 我(因为小时数是 23:00 GMT +1 NOT 00:00 GMT +2)

我正在处理客户端的 oracle 数据库,并在 oracledb npm 包支持的 nodejs 服务器中使用它。

我想知道是否有任何好的/流畅的方法可以将这些日期格式统一为同一个格式?想只接收 GMT +1/+2 格式之一的所有日期?

感谢任何建议

这里你要做的是根据getTimezoneOffset()调整时间然后存储。

MDN

The time-zone offset is the difference, in minutes, from local time to UTC.

var d = new Date();
console.log(d)//Time before adjusting the timezone
d.setMinutes(d.getTimezoneOffset());
console.log(d) //time adjusted to UTC