logo

Juliaでファイルの最終更新時間を確認する方法 📂Julia

Juliaでファイルの最終更新時間を確認する方法

説明

stat() 関数を使うと ファイルのメタデータを確認できる。 ファイルが最後に修正された時刻は mtime 属性に格納されている。だが stat() 関数は現在からどれだけ前かを示し、直接 info.mtime を確認しても奇妙な数値しか出ない。

julia> stat("test.txt")
StatStruct for "test.txt"
   size: 82 bytes
 device: 1692283895
  inode: 26886
   mode: 0o100666 (-rw-rw-rw-)
  nlink: 1
    uid: 0
    gid: 0
   rdev: 0
  blksz: 4096
 blocks: 0
  mtime:  (17 minutes ago)
  ctime:  (17 minutes ago)

julia> info.mtime
1.7514459083956373e9

これは mtime が Unix タイムスタンプ形式で保存されているためだ。Unix タイムスタンプは 1970年1月1日 00:00:00 UTC からの経過秒数を表す。つまり上のコードの結果は、ファイルが最後に修正された時刻が 1970年1月1日以降から約 1,751,445,908.395637.3 秒が経過していることを意味する。これを人間が読みやすい形式に変換するには標準ライブラリ Dates を使えばよい。

コード

関数 unix2datetime() を使えばよい。mtime 自体を関数として呼び出すこともできる。

julia> mtime("test.txt")
1.7514459083956373e9

julia> using Dates

julia> test_mtime = unix2datetime(info.mtime)
2025-07-02T08:45:08.395

julia> Dates.format(test_mtime, "yyyy-mm-dd HH:MM:SS")
"2025-07-02 08:45:08"

環境

  • OS: Windows11
  • Version: Julia 1.11.3