在 strptime 和 as.POSIXct 的帮助下,POSIXlt 和 POSIXct 类似乎只记录整秒。
(我需要毫秒将它们作为种子传递给共享对象中的随机数生成器。)
您可以通过更改选项将打印时间设置为亚秒级精度:
options("digits.secs"=6)
Run Code Online (Sandbox Code Playgroud)
最多 6 位数字 - 请参阅选项
然后,您可以使用以下方法将系统时间精确到毫秒:
as.POSIXlt(Sys.time())
Run Code Online (Sandbox Code Playgroud)
这将打印时间。要获得自午夜以来的毫秒数,您只需使用:
mySeed = as.POSIXlt(Sys.time())
mySeed = 1000*(mySeed$hour*3600 + mySeed$min*60 + mySeed$sec)
Run Code Online (Sandbox Code Playgroud)