javascript - 创建具有 CET 时区的 Date 对象

标签 javascript node.js date

要创建 UTC 日期对象,我们会这样写

new Date(Date.UTC(2012,02,30));

如果没有 Date.UTC,它会采用 locale 并创建 Date 对象。如果我必须为在世界某个地方运行程序的 CET 创建一个 Date 对象,我会怎么做?

最佳答案

您不会在任何特定时区“创建”JavaScript Date 对象。 JavaScript Date 对象始终以自纪元以​​来的毫秒 UTC 值为基础。它们具有应用本地时区偏移和规则的方法(getHours 而不是 getUTCHours),但仅适用于本地时区。您无法设置 Date 对象用于其“本地”方法的时区。

您对 Date.UTC 所做的操作(正确的是,02 上的前导 0 除外)只是用以下命令初始化对象UTC 中该日期/时间(3 月 30 日午夜)以来的相应毫秒值,而 new Date(2012, 2, 30) 会将其解释为 3 月 30 日午夜本地时间。除了初始化的日期时间之外,Date 对象中没有差异。

如果您需要本地以外的时区,您所能做的就是使用 Date 函数的 UTC 版本,并为您想要使用的时区应用您自己的偏移量和规则,即不平凡的。 (偏移量是微不足道的;规则往往不是这样。)

如果你去寻找,你可以找到为你处理时区的 Node 模块。刚才快速搜索“Node 时区”给了我 timezone作为第一击。它还为我提供了 this SO question 的链接, this SO question ,和this list of timezone modules for Node .

关于javascript - 创建具有 CET 时区的 Date 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20867562/

相关文章:

javascript - addEventListener 类型 'click' 实际上表现得像 'load'

javascript - 通过 require.js 加载所有内容时,如何将 Knockout View 模型的一部分传递给组件?

javascript - 如何在nodejs中比较两个字符串源和目标与全名

node.js - 在 Sequelize 迁移脚本中添加数据?

java - 比较日期并在比较中向日期添加天数

javascript - 加载位于根目录之外的 json 和图像

javascript - 当我点击特定元素时如何找到text()?

javascript - 将base64图像转换为Node Js中的文件

java - Gson:日期上的 JsonSyntaxException

php - 如何从以下日期格式的mysql中选择即将到来的日期?