Bir*_*sky 2 javascript timezone datetime node.js typescript
我正在 DynamoDb 中对每周报告商店进行建模。
我认为识别报告记录的最佳方法是通过自 1970 年以来各自的周数。很像纪元毫秒。
所以:
考虑到我可能不知道的所有可能的边缘情况,例如夏令时等,我在尝试解决此问题时感到非常不舒服。
澄清:
O. *_*nes 15
UNIX 时间自 1970 年 1 月 1 日起以秒为单位。
那天是星期四。因此,UNIX 纪元(从该日期开始)第 0 周的 UTC 星期日午夜发生在 UNIX 时间的 -345 600 秒处。第一周的午夜星期日发生在 UNIX 时间 259 200 秒。
UNIX 时间日历不包含闰秒,因此每周恰好有 7 天,604 800 秒长。
因此,要从 UNIX 时间获取 UTC 周数,请执行以下操作。
(unixTime + 345600) div 604800
Run Code Online (Sandbox Code Playgroud)
Javascript 时间戳是以毫秒为单位的 UNIX 时间戳。所以,在 JS 中,就是
Math.floor ((jsTimestamp + 345_600_000) / 604_800_000)
Run Code Online (Sandbox Code Playgroud)
要从周数中获取周日午夜的 Javascript 时间戳,请反转操作。
(weekNumber * 604_800_000) + 345_600_000
Run Code Online (Sandbox Code Playgroud)
这都是 UTC 时间。
| 归档时间: |
|
| 查看次数: |
3735 次 |
| 最近记录: |