package main
import (
"fmt"
"time"
)
func main() {
//指定某一天转月份
day, _ := time.Parse("2006-01-02", "2017-11-14")
month := time.Unix(day.Unix(), 0).Format("2006-01")
fmt.Println(month)
//获取当前时间
fmt.Println(time.Now())
//获取昨天 "2006-01-02 15:04:05"
yesterday := time.Now().AddDate(0, 0, -1).Format("2006-01-02")
fmt.Println(yesterday)
//获取当前年
fmt.Println(time.Now().Year())
//获取当前月
fmt.Println(int(time.Now().Month()))
//获取当前日
fmt.Println(time.Now().Day())
//获取当前周几
fmt.Println(int(time.Now().Weekday()))
//获取当前小时
fmt.Println(time.Now().Hour())
//获取当前分钟
fmt.Println(time.Now().Minute())
//获取当前秒
fmt.Println(time.Now().Second())
//获取当前时间戳-秒
fmt.Println(time.Now().Unix())
//获取当前时间戳-纳秒
fmt.Println(time.Now().UnixNano())
//两个时间相差的时间戳-秒
local, _ := time.LoadLocation("Local")
end_time, _ := time.ParseInLocation("2006-01-02", time.Now().AddDate(0, 0, 1).Format("2006-01-02"), local)
expired_time := int64(end_time.Unix() - time.Now().In(local).Unix())
spew.Dump(expired_time)
//时间 to 时间戳
loc, _ := time.LoadLocation("Asia/Shanghai") //设置时区
tt, _ := time.ParseInLocation("2006-01-02 15:04:05", "2018-07-11 15:07:51", loc)
fmt.Println(tt.Unix()) //1531292871
//时间戳 to 时间
tm := time.Unix(1531293019, 0)
fmt.Println(tm.Format("2006-01-02 15:04:05")) //2018-07-11 15:10:19
//获取相差时间
func GetDayDiffer(start_time, end_time string) int {
var day int
t1, err := time.ParseInLocation("2006-01-02", start_time, time.Local)
t2, err := time.ParseInLocation("2006-01-02", end_time, time.Local)
if err == nil && t1.Before(t2) {
diff := t2.Unix() - t1.Unix()
return int(diff / 3600 / 24)
} else {
return day
}
}
}
Golang 时间操作
于 2020-04-08 11:15:35 首次发布