Node JS 智利现行 DST 规则

2024-02-14

根据规范,Node JS (ES5) 在处理 Date 对象时应使用当前的 dts 规则。当前的意思是“现在”,而不是特定的日期。这并不完美,但目前对我来说已经足够了。

目前,该规则是错误的(由于智利法律的变化)。

简单探针:

console.log(new Date()) 
Mon Apr 08 2019 12:48:08 GMT-0300 (Chile Summer Time) {}

在日期的默认 toString 末尾显示“(智利夏令时间)”。实际上我们不是在夏令时(两天前结束),当前偏移量应该是 -4 而不是 -3。

我尝试将 Node 升级到最新的稳定版本,但没有成功。我不想更改大量代码(在生产中)以使用 moment.js 或等效代码。

有没有办法更新现有 Node JS 安装中的 DST 规则?

提前致谢

- 编辑 -

TZ 环境变量为空。

在 Mac OSX (Mojave 10.14.4) 和 Red Hat (4.8.5-36) 上测试

moment.js 正确识别区域(“美国/圣地亚哥”,其中 moment.tz.guess())


你提到的智利的变化是IANA TZ 数据版本 2018f https://mm.icann.org/pipermail/tz-announce/2018-October/000051.html,于 2018 年 10 月发布。

节点通过以下方式公开 tz 版本process.versions.tz https://nodejs.org/api/process.html#process_process_versions。当前发布的 10.15.3 LTS 版本返回2018e,这解释了为什么您看不到更新。我认为这将在未来的某个日期更新。

节点通过 ICU 获取其 IANA 数据。有关于编译 Node 的 ICU 支持的不同方法的说明(system-icu, small-icu, full-icu)记录here https://nodejs.org/api/intl.html,如果您自己从源代码构建 Node,则适用。唉,我找不到任何直接更新 Node 的 ICU 数据的机制,而不需要自己构建 Node。

ICU has 文档 http://userguide.icu-project.org/datetime/timezone#TOC-Updating-the-Time-Zone-Data关于如何更新时区数据而不更新所有 ICU。但是,我看不到 Node 在任何地方利用此功能。

因此,当涉及到更新节点的时区数据时,要么当前无法完成,要么记录很少。抱歉,我没有比这更好的答案了。

您确实说过您已经在使用 moment-timezone,它独立地传送其时区数据。如果您仅使用矩函数(而不是Date对象),那么你应该得到正确的结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node JS 智利现行 DST 规则 的相关文章

  • 如何为 HTML5 音频元素制作加载栏?

    我正在尝试为 HTML5 音频元素制作一个加载栏 显示加载 缓冲的百分比 对于视频标签 可以使用以下方法进行计算 video buffered end 0 video duration 但我无法让它与音频标签一起使用 它只是返回一个固定值
  • React/Redux bundle.js 太大

    我有一个小型的 React 项目 Webpack生成的bundle js大小为6 3Mb 如何将大小减小到 github webpack config js module exports devtool inline source map
  • Typescript:如何在自定义过滤器中使用角度 $filter

    如何在自定义过滤器中使用 Angular filter 如何注入 filter依赖 module Filters export class CustomFilter public static Factory return function
  • 改进 D3 序列旭日示例

    This D3示例作为我的出发点 http bl ocks org kerryrodden 7090426 http bl ocks org kerryrodden 7090426 我想更改提供图表的数据 并且我做了以下新示例 http j
  • 如何在一段特定时间后在后台运行 ajax 调用? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想在一段特定的时间后显示警报消息 您想继续吗 如果用户同意 则 ajax 调用必须在后台运行 否则取消 ajax 调用 那么请告诉我
  • TRACKER:错误TRK0005:无法找到:“CL.exe”。该系统找不到指定的文件

    我尝试在 Windows 8 上的 Node js 项目中执行以下命令 npm 安装 电子邮件受保护 cdn cgi l email protection 但我收到一个错误 我不知道如何处理 TRACKER 错误TRK0005 无法找到 C
  • 获取特定月份/年份的第一天

    有没有比以下更好的方法返回特定月份 年份的第一天的日期 month date m year date Y from date Y m d mktime 0 0 0 month 1 year 这在计算上并不完全优雅 但我喜欢它 因为它非常可读
  • canvas.getContext('2D') 返回空值

    我创建了一个画布并将其命名为getContext 方法 但它返回null为上下文 这是我使用的代码 我在控制台中得到了这个
  • 如何将函数传递给 JavaScript Web Worker

    我想通过一个 或多个 函数传递postMessage 给网络工作者 因为我无法引用常规文件 为了启动 Web Worker 我将一个对象 URL 从 Blob 创建 传递给Worker构造函数 然后我传递一条消息 但到目前为止还没有在消息中
  • 获得一次性绑定以适用于 ng-if

    这个问题已经被之前问过 https stackoverflow com questions 23969926 angular lazy one time binding for expressions 但我无法让该解决方案发挥作用 所以我想
  • Phonegap facebook 插件:android 的各种问题

    我正在尝试将 Phonegap 3 1 与 Phonegap facebook plugin 集成 以使我的应用程序能够使用 facebook 登录 https github com phonegap phonegap facebook p
  • 从相机视图中拖动锁定在一定距离/半径处的对象

    我在场景中心有一个相机 距离相机 z 400 处有 1 个球体 其父级位于中心 我想从视图中向上 向下 向左 向右拖动球体 但同时不改变它相对于中心的 z 位置 我最终使用了另一个球体并使其不可见 添加side THREE DoubleSi
  • (0, eval) () 的作用是什么? [复制]

    这个问题在这里已经有答案了 以下内容来自这个问题 https stackoverflow com questions 14119988 return this 0 evalthis 14120023 14120023 function q
  • PhantomJS 网页内存消耗?

    是否有一种编程方式 因为我想在运行时自动执行 方式来查看网页在通过 PhantomJs 运行时使用了多少内存 我也在使用 casperjs 如果这有帮助的话 我已经搜索了很多但没有找到任何方法 PhantomJs 使用 QtWebKit 因
  • 如何修复 getImageData() 错误画布已被跨源数据污染?

    我的代码在本地主机上运行得很好 但在网站上却不起作用 我从控制台收到此错误 对于这一行 getImageData x y 1 1 data Uncaught SecurityError Failed to execute getImageD
  • Javascript:更改输入值时设置光标位置

    当您输入公式时 我试图在我的应用程序中重现类似于 Microsoft Excel Google Sheets 的用户体验 并且您可以使用不同的公式和变量来自动完成下拉菜单 为此 在验证自动完成功能后 我希望能够控制光标的位置 例如 如果我输
  • 运行“gulp”命令时出现“错误 [ERR_REQUIRE_ESM]”

    我是新来的Gulp并尝试自动化一些任务 这是我的环境设置 npm version 8 1 0 node version 17 0 1 gulp CLI version 2 3 0 and gulp version 4 0 2 这是我的gul
  • 数字和小数的输入掩码

    在测试我的程序后 我发现了以下错误 我在 sqlserver 中的表包含 价格数字 6 2 我的程序的用户输入价格 555 00 就很好了 但是当他输入 555555 时 这是错误的 所以我需要指定掩码 其中尾数是可选的 0 到 999 小
  • 跨浏览器:禁用输入字段的不同行为(文本可以/不能复制)

    我有一个被禁用的输入 html 字段 在某些浏览器 Chrome Edge Internet Explorer 和 Opera 中可以选择并复制文本 但至少在 Firefox 中这是不可能的 您可以通过在不同浏览器中执行以下代码来测试
  • 在 JSP 或 Javascript 中清除浏览器缓存中的图像

    我正在为一所大学开发JSP Web 应用程序 用户页面中显示人员图片 用户注销后如何从网络浏览器缓存中清除这张图片 使用 JSP 或 JavaScript 那是不可能的 最好的选择是完全禁用相关资源的缓存 创建一个filter https

随机推荐

  • 将加密的 csv 导入 Python 3

    因此 我计划使用 Jupyter Notebook Python 3 进行一些数据分析 出于协作原因 我想将数据存储在 github 存储库上 但数据集很敏感 因此 我想将数据 当前为 csv 作为加密文件存储在存储库上 然后在运行时解密
  • .NET ORM、不可变值对象、结构、默认构造函数和只读属性

    我刚刚开始使用 NET ORM 甚至还没有在 Entity Framework 和 NHibernate 之间做出决定 但在这两种情况下 我都遇到了一个问题 因为他们似乎希望我以各种方式损害域模型的完整性 特别是在 C 对象设计的更精细的方
  • (numpy) __array_wrap__ 有什么作用?

    我第一次深入 SciPy LinAlg 模块 我看到了这个函数 def makearray a new asarray a wrap getattr a array prepare new array wrap return new wra
  • 'quietly = TRUE' 何时在 require() 函数中真正起作用?

    我正在尝试编写一组函数来检查丢失的 R 软件包 并在必要时安装它们 StackOverflow 上有一些很好的代码可以做到这一点 从这里开始 https stackoverflow com questions 4090169 elegant
  • 在更改视图的可见性时应用动画

    我的应用程序中有一个 Horizo ntalScrollView 并且我经常使用它的可见性 可见和消失 所以我想要的是 我可以应用某种动画或其他东西 使其开始以滑动的方式变得可见和不可见 而不是突然使其可见和不可见吗 任何帮助或建议将不胜感
  • 本地主机上的 Django/Celery 多个队列 - 路由不起作用

    我跟着芹菜docs http celery readthedocs org en latest userguide routing html manual routing在我的开发机器上定义 2 个队列 我的芹菜设置 CELERY ALWA
  • 从 Eclipse 中删除插件的正确方法

    上次 我遇到了从 Eclipse 中删除插件的问题 症状 1 如果删除通过已安装菜单 无法正确重新安装并且有多个视角 例如对于 SQL 资源管理器 在Open Perspective menu 2 如果通过文件系统删除 手动从plugins
  • 人员 API 谷歌配额限制

    我正在研究 People API 这仅适用于 google 用户 有人知道吗 我一天 分钟可以免费询问多少次 一般配额限制是多少 超过门槛需要花费多少钱 Thanks 有两种不同的 People API 您可以在云控制台中查看两者的配额 G
  • 具有基本身份验证的 Webclient / HttpWebRequest 返回 404 未找到有效 URL

    编辑 我想回来指出问题根本不在我这边 而是与另一家公司的代码有关 我正在尝试使用基本身份验证来打开页面 我不断收到 404 页面未找到错误 我可以将我的网址复制并粘贴到浏览器中 它工作正常 如果我尚未登录他们的网站 它会弹出一个凭据框 否则
  • ASP.NET Core 默认调试启动 URL

    使用 ASP NET Core Web API 模板时 默认调试启动 URL 以某种方式设置为api values 此默认配置在哪里以及如何更改它 我能找到的有关此启动 URL 声明位置的文档非常少 这个里面有简短的提及博客文章 https
  • vuelidate 异步验证器 - 如何去抖?

    因此 我的电子邮件 用户表单元素上的异步验证器存在问题 每次输入字母时 它都会检查有效性 如果电子邮件有 30 个字符 那么就超过 30 个电话 有人知道消除 vuelidate 自定义验证器的最佳方法吗 当我尝试使用 debounce 时
  • 传统 For 循环与增强型 For 循环 [重复]

    这个问题在这里已经有答案了 这段代码 import java util import java io class TestClass public static void main String args throws Exception
  • Visual Basic .NET 中的 UInt32 数据类型是什么?

    是什么UInt32VB NET 中的数据类型 有人可以告诉我它的位长度和之间的区别吗UInt32 and Int32 它是整数还是浮点数 它是一个无符号 32 位整数 U 表示无符号 Int 表示整数 32 换 32 或者你可以看看文档 h
  • 将 SageMaker 管道模式与 tfrecords 的 s3 目录结合使用

    我打电话给sagemaker tensorflow TensorFlow fit 当我使用时无限期挂起 没有错误消息Pipe代替File as the input mode 我相应地替换了TensorFlowDataset with Pip
  • Log4j2 系统属性写入文件

    我使用以下 log4j2 配置
  • 平板电脑或手机 - Android

    有没有办法检查用户是否使用平板电脑或手机 我的倾斜功能和新平板电脑 Transformer 出现问题 正如之前提到的 您不想检查设备是平板电脑还是手机 而是想了解设备的功能 大多数时候 平板电脑和手机之间的区别在于屏幕尺寸 这就是您想要使用
  • 将 URL 拖放到浏览器中并使用 jQuery 进行处理

    我需要能够将 URL 从浏览器中的 URL 栏 拖放到网页中 使用该链接向 Web 服务发出请求 然后获取 JSON 回复并填充表单 我已经能够创建处理链接的 Web 服务 并且我已经能够使用 jQuery ajax 发出请求 但我不确定如
  • MVVM 命令绑定

    我正在尝试学习 MVVM 模式 我遇到的主要问题是学习应该在哪里声明 创建和绑定命令对象 2个例子 我有一个主窗体 其作用类似于交换机或主菜单 选择按钮 1 并显示视图 1 选择按钮 2 并显示视图 2 伟大的 现在我想返回主窗体 因此我需
  • 错误:React Native expo-video-thumbnails IOS 中无法写入文件错误

    我正在从视频 URL 生成缩略图 它在 Android 中工作正常 但在 IOS 中出现错误 Error Can t write to file 下面是我的代码 import as VideoThumbnails from expo vid
  • Node JS 智利现行 DST 规则

    根据规范 Node JS ES5 在处理 Date 对象时应使用当前的 dts 规则 当前的意思是 现在 而不是特定的日期 这并不完美 但目前对我来说已经足够了 目前 该规则是错误的 由于智利法律的变化 简单探针 console log n