前要:好记性不如烂笔头
目标一:时间戳转时间格式
过程:时间戳=>Time, Time=>需要的时间格式
timestamp := time.Now().Unix()
fmt.Println("打印timestamp:", timestamp)
tm := time.Unix(timestamp, 0) // 时间戳到时间格式
fmt.Println(tm.Format("2006-01-02 03:04:05 PM")) //12小时制
fmt.Println(tm.Format("02/01/2006 15:04:05 PM")) //24小时制
目标二:时间格式到时间戳的转换
过程:需要的时间格式=>Time,Time=>时间戳
standTime := tm.Format("2006-01-02 15:04:05 PM") //time是一个Time格式,查看目标一
loc, _ := time.LoadLocation("Local") //获取时区是非常重要的一步操作,否则你的时间将多8个小时
times, err := time.ParseInLocation("2006-01-02 15:04:05 PM", standTime, loc)
if err != nil {
fmt.Println("err:", err)
return
}
trantimestamp := times.Unix()
fmt.Println("标准时间格式到时间戳的转换:", trantimestamp)
目标三:判断一个时间点是否在一个时间点之后
过程:这个对于时间戳而言非常简单,但是对于其他的需要转换到time即可对比
stringToTime, _ := time.Parse("2006-01-02 15:04:05", "2017-12-12 12:00:00")
beforeOrAfter := stringToTime.After(time.Now())
if beforeOrAfter == true {
fmt.Println("2017-12-12 12:00:00在tNow之后!")
} else {
fmt.Println("2017-12-12 12:00:00在tNow之前!")
}
目标四:判断一个时间相比另外一个时间点过去了多久
过程:这个是用Time的方式来对比
beginTime :=time.Now()
time.Sleep(time.Second*1)
durtime:= time.Since(beginTime)
fmt.Println("离现在过去了:",durtime)
有疑问加站长微信联系(非本文作者)