首页 >后端开发 >Golang >如何使用 Go 在 Windows 中获取文件的创建日期?

如何使用 Go 在 Windows 中获取文件的创建日期?

Susan Sarandon
Susan Sarandon原创
2024-11-29 19:26:11176浏览

How to Get a File's Creation Date in Windows Using Go?

使用 Go 在 Windows 中检索文件创建日期

问题:如何访问文件的创建日期在Windows系统中使用Go编程

答案: 要使用 Go 检索 Windows 中文件的创建日期,您可以利用 os.File 的 Sys 方法来获取系统特定的数据结构,具体来说,适用于 Windows 系统的 Win32FileAttributeData。 Win32FileAttributeData 结构包含 CreationTime 等字段,它表示文件的创建时间戳。

演示此方法:

import (
    "os"
    "syscall"
    "time"
)

func GetFileCreationTime(path string) (time.Time, error) {
    fileInfo, err := os.Stat(path)
    if err != nil {
        return time.Time{}, err
    }

    // Verify that the file information is compatible with Windows
    sysFileInfo, isWindows := fileInfo.Sys().(*syscall.Win32FileAttributeData)
    if !isWindows {
        return time.Time{}, nil
    }

    // Convert the nanosecond timestamp to a `time.Time` object
    return time.Unix(0, sysFileInfo.CreationTime.Nanoseconds()), nil
}

示例用法:

creationTime, err := GetFileCreationTime("./myfile.txt")
if err != nil {
    // Handle file opening error
}
fmt.Println("File creation time:", creationTime)

通过利用这种方法,您可以使用以下命令轻松检索 Windows 系统中文件的创建日期Go 编程语言。

以上是如何使用 Go 在 Windows 中获取文件的创建日期?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn