处理纳秒时间戳字符串

时间:2014-11-30 22:42:16

标签: javascript datetime

我有一些分辨率低至纳秒的时间戳。我希望能够解析时间戳并创建Javascript Date对象(或其某些扩展或类似物),以便对它们进行排序/添加/减少等等......但是看起来Javascript Date对象不会超过毫秒

有没有办法扩展Date对象来存储额外的精度?我已经找到了这样做的现有图书馆,但到目前为止还没找到。

要清楚我不需要从Date.now()获得纳秒......我只需要能够将时间戳字符串解析为具有必要精度的对象。

JS环境是浏览器(不是Node.js)。

1 个答案:

答案 0 :(得分:0)

聚会迟到了,但这是我的 2 美分

javascript temporal proposal

  • 还支持纳秒级精度:参见 Instant class
  • 由于这将作为原生 javascript 功能添加,这绝对是可行的方法
  • 截至 2021 年 1 月,有一个有效的 polyfill提案仍在 Stage 2 中,因此我们不应在生产中使用它:Docs

js-joda

注意:

  • 我认为扩展 Date 对象不是一个好主意。例如您可以添加微秒属性等,但这可能会导致现有代码出现问题
  • 例如有许多库会在内部创建日期的副本。即通常使用这样的代码:if (value instance of Date) value = new Date(Date.valueOf()) - 然后您的微秒字段信息丢失