我目前正在将日期时间值转换为unix时间,以便可以使用以下代码将其插入到时间序列数据库(Influxdb)中:
(Get-Date -Date $_.timecreated -UFormat %s)
不幸的是,涌入需要纳秒级分辨率,而上面给出了ms分辨率。添加nano可以接受的纳秒级分辨率作为有效的unix时间戳的最佳方法是什么?我尝试在最后添加一些0000字符,但这并不总是有效。
答案 0 :(得分:2)
你必须通过计算unix时代的偏移来自己计算unix时间戳:
$utime = ((Get-Date -Date $_.timecreated) - (Get-Date "1/1/1970")).TotalSeconds
它会为您提供一个双重格式,您可以根据需要进行格式化。这将提供纳秒精度:
"{0:F06}" -f $utime
更新:值得注意的是,我认为Get-Date
不会给你一个纳秒级的精确度。在我的机器上,纳秒位值始终为0.