【发布时间】:2021-10-26 23:01:08
【问题描述】:
我有一个返回时间戳的方法,它是一个 bigint。
内置的 Date 方法只接受一个数字来创建日期时间。是否有其他函数或方法可以采用 bigint 并将其转换为日期。
本质上类似于 Java 的 DateTimeFormatter 类。
如果可能的话,是否有一种方法可以将日期格式化为带有“yyyyMMdd”模式的字符串,以寻找类似于 Java 的内容
DateTimeFormat.forPattern
时间戳是自纪元时间以来的毫秒数
let time = 1630017759934
【问题讨论】:
-
所有问题的答案都是肯定的。您能分享您尝试过的代码和遇到的错误吗?当你说你有一个
bigint是一个时间戳时,你能用一些示例来详细说明吗? -
如果您需要 bigint 大小,您会保存什么样的日期? Unix 纪元时间大小为 10 位(如果您确定毫秒,则为 13)。如果您对 unix 纪元时间中的小时间测量有一些极端要求并且只需要 yyyyMMdd 那么您总是可以将您的时间分开以使其更小并首先将其转换为数字。即毫秒 persision 到 second persision。
const t = Math.floor(1630012381123 / 1000);const d = new date(t); -
我相信我可以将时间戳从 bigint 转换为给定 unix 纪元时间(毫秒)的数字。刚才想知道将日期格式化为所需模式的最佳方法是什么
-
数字类型可以精确表示最多53位的所有整数。您的时间戳最多有 42 位,因此有足够的空间。
标签: javascript typescript date datetime bigint