如何将毫秒级数值时间转换为带小数秒的datetime格式(推荐用lubridate)
使用lubridate转换毫秒级时间戳为带小数秒的datetime
核心逻辑
13位的毫秒级Unix时间戳比标准秒级时间戳多3位精度,先除以1000转换为秒级数值,再调用lubridate的as_datetime()函数即可自动保留毫秒级小数精度。
具体实现步骤
- 加载lubridate包
library(lubridate)
- 转换示例时间戳
# 示例毫秒级时间戳 time <- 1633708877772 # 转换为带小数秒的datetime datetime <- as_datetime(time / 1000)
- 查看带小数秒的输出
默认打印datetime可能不会显示小数秒,可通过指定格式输出验证:
# 输出显示3位小数秒 format(datetime, "%Y-%m-%d %H:%M:%OS3")
运行上述代码得到的结果为:"2021-10-08 12:01:17.772",与原始时间戳的毫秒位完全匹配。
可选配置
如果需要让所有datetime对象默认显示小数秒,可以修改全局配置:
# 设置默认显示3位小数秒 options(digits.secs = 3)
设置完成后直接打印datetime即可看到带3位小数的时间格式。
内容的提问来源于stack exchange,提问作者SiH
相关产品推荐
相关产品推荐

