go语言时间函数

以YY-mm-dd HH:MM:SS.9位 输出当前时间:

func main() {
    fmt.Println(time.Now())   // 2019-11-15 16:26:12.4807588 +0800 CST
}

获取时间戳

func main() {
    fmt.Println(time.Now().Unix())  // 十位  1593458838
    fmt.Println(time.Now().UnixNano() / 1e6)   // 毫秒 13位 
    fmt.Println(time.Now().UnixNano()) // 纳秒  19位  
}

将一个当前时间格式化为指定格式, “2006-01-02 15:04:05” 是Go语言的创建时间,且必须为这几个准确的数字。

x := time.Now()       // 2019-11-15 16:26:12.4807588 +0800 CST m=+1.877664801
fmt.Println(x.Format("2006-01-02 15:04:05"))   // 2019-11-15 16:26:12,   参数:如果为24小时制,则 小时 需要大于12
fmt.Println(x.Format("2006-01-02"))            // 2019-11-15 

将时间戳格式化

datatime := time.Now().Unix()     // 获取当前时间戳
x := time.Unix(datatime, 0)       // 转成2019-11-15 16:26:12.4807588 +0800 CST  这种格式
datatimeStr := x.Format("2006-01-02 15:04:05")   // 格式化成需要的格式:2019-11-15 16:45:52
datatimeStr := x.Format("2006010215")            // 2019111515

任意格式时间日期转为时间戳

datetime := "2015-01-01"  //待转化为时间戳的字符串
//日期转化为时间戳
timeLayout := "2006-01-02"  //转化所需模板, 模板是随着datetime变化的
loc, _ := time.LoadLocation("Local")    //获取时区  
tmp, _ := time.ParseInLocation(timeLayout, datetime, loc) 
timestamp := tmp.Unix()    //转化为时间戳 类型是int64
fmt.Println(timestamp) 
posted @ 2019-11-11 16:19  _Eternity味道  Views(934)  Comments(0Edit  收藏  举报