Ocaml 的Unix
模块提供了一个stat
函数,它返回一个带有浮点st_mtime
成员的记录。
这似乎总是秒级精度,即使在支持亚秒级精度的 Linux 上也是如此。它是浮点数而不是整数的事实让我希望可以从中获得亚秒级精度的时间(或类似的时间),但我不知道如何。
我很高兴使用其他 OPAM 库。我已经在使用电池了,所以我不想也必须使用例如 Jane Street Core - 但较小的图书馆很好。
这是我用来测试的脚本:
#!/usr/bin/env ocamlscript
Ocaml.packs := ["unix"]
--
open Unix
open Printf
let () =
let this_file = Array.get Sys.argv 0 in
let stats = Unix.stat this_file in
printf "mtime: %f" stats.st_mtime
在我的 Linux (x86_64) 机器上运行时,它会打印:
mtime: 1388567583.000000
Python 毫不费力地获得亚秒级mtime
,所以我的操作系统和 FS 绝对支持它。