【发布时间】:2021-05-26 15:52:05
【问题描述】:
我有一个来自 info (mac os) 的文件:
Created: Tuesday, 26 May 2020 at 11:21
Modified: 26 May 2021 at 15:40
经过一些研究,我尝试做:
ctim := fi.Sys().(*syscall.Stat_t).Ctim
atim := fi.Sys().(*syscall.Stat_t).Atim
mtim := fi.Sys().(*syscall.Stat_t).Mtim
log.Println("ctim:", time.Unix(ctim.Sec, ctim.Nsec))
log.Println("atim:", time.Unix(atim.Sec, atim.Nsec))
log.Println("mtim:", time.Unix(mtim.Sec, mtim.Nsec))
但他们都回来了:
app_1 | 2021/05/26 15:40:17 ctim: 2021-05-26 15:40:17.199113879 +0000 UTC
app_1 | 2021/05/26 15:40:17 atim: 2021-05-26 15:40:16.457499729 +0000 UTC
app_1 | 2021/05/26 15:40:17 mtim: 2021-05-26 15:40:05.982391804 +0000 UTC
我也在使用 docker + docker-compose,从 golang:1.14-stretch 构建并将二进制文件保存在 debian:bullseye-slim 中。
显然这不是文件的创建时间。知道如何获取这些信息吗?
【问题讨论】:
标签: file go unix debian system-calls