【发布时间】:2020-09-24 20:17:21
【问题描述】:
我正在努力以正确的格式格式化 js 日期,但不确定我是否做得对。 所以这是我的情况:
我强烈依赖对象中包含的小时数来导入数据。有时我收到 GMT +1 格式的日期,有时收到 GMT +2 格式的日期。我发现它取决于夏令时日期格式。
但现在的问题是,当我尝试处理这些数据并从 12 月开始查找对象时,函数 getDate() 会在前一天返回我(因为时间是 23:00 GMT +1 不是 格林威治标准时间 00:00 +2)
我正在开发客户端的 oracle 数据库,并在 oracledb npm 包支持的 nodejs 服务器中使用它。
我想知道是否有任何好的/流畅的方法可以将这些日期格式统一为同一个格式?喜欢仅以 GMT +1/+2 格式之一接收所有日期?
感谢您的建议
【问题讨论】:
-
理想情况下,时间戳应始终以 UTC 格式存储并按原样返回给客户端,因此客户端可以根据本地时区显示日期。为什么日期不是UTC? stackoverflow.com/questions/11537106/…
-
@lux,我正在接收来自 oracledb npm 包的 JS Date 对象。我将 UTC 字符串存储在数据库中,但是,需要对日期对象进行操作才能检索特定日期的日期、小时和分钟
-
您是否在多台机器上处理日期?为什么有些人有 GMT +1 而其他人有 GMT +2? Oracle 数据库中存储的日期是什么数据类型?如果是 DATE,表中存储的日期的时区是什么?
-
@DanMcGhan,我确实从不同的机器获取数据。类型为日期,但时区差异来自夏令时更改。这就是为什么它有时是 gmt +1,有时是 +2。
-
使用 getUTC* 方法,那么所有机器将获得相同的值,因为本地偏移量将被忽略。
标签: javascript node.js date node-oracledb