go 时间戳 时间转换 文件修改时间

package main

import (
    "log"
    "os"
    "time"
    "fmt"
)

func main() {


    datetime := "2015-01-01 00:00:00"  //待转化为时间戳的字符串

    //日期转化为时间戳
    timeLayout := "2006-01-02 15:04:05"  //转化所需模板  
    loc, _ := time.LoadLocation("Local")    //获取时区  
    tmp, _ := time.ParseInLocation(timeLayout, datetime, loc)
    timestamp := tmp.Unix()    //转化为时间戳 类型是int64
    fmt.Println(timestamp)


    //时间戳转化为日期  
    datetime = time.Unix(timestamp, 0).Format(timeLayout)
    fmt.Println(datetime)   


    timestamp1 := GetFileModTime("./test.go")
    fmt.Println( time.Unix(timestamp1, 0).Format(timeLayout) )
}


//获取文件修改时间 返回unix时间戳
func GetFileModTime(path string) int64 {
    f, err := os.Open(path)
    if err != nil {
        log.Println("open file error")
        return time.Now().Unix()
    }
    defer f.Close()

    fi, err := f.Stat()
    if err != nil {
        log.Println("stat fileinfo error")
        return time.Now().Unix()
    }

    return fi.ModTime().Unix()
}

posted @ 2021-01-29 11:38  yangxl-dev  阅读(266)  评论(0)    收藏  举报