time包
| 方法 | 解释 |
|---|---|
| Now() | 当前时间 |
| Year() | 年 |
| Month() | 月 |
| Day() | 日 |
| Hour() | 时 |
| Minute() | 分 |
| Second() | 秒 |
func main() {
var today = time.Now()
// 所有对时间的api调用,都需要用实例化后的变量
var year = today.Year()
var month = today.Month()
var day = today.Day()
var hour = today.Hour()
var minute = today.Minute()
var sec = today.Second()
fmt.Printf("%d-%02d-%02d %02d-%02d-%02d", year, month, day, hour, minute, sec)
}
// %02d, 两位数字,不够位数在前补零
另一种格式化写法:
func main() {
var today = time.Now()
var str = today.Format("2006-01-02 03:04:05")
fmt.Printf(str)
}
// 这种格式化是go自带的,2006是go诞生的年份,后面按顺序从01写到05即可
// 其中,03代表12小时制,15代表24小时制
获取当前时间戳
时间戳(UnixTimestamp):自1970年1月1日(08:00
GMT)到当前时间的总秒数
today.Unix()
// 时间戳转时间
func main() {
var theUnix = time.Now().Unix()
// Unix第二个参数是毫秒值。没有写0。第一个参数是秒值,同理
var theTime = time.Unix(theUnix, 0).Format("2006-01-02 15:04:05")
fmt.Println(theTime)
}
// 时间转时间戳
func main() {
var str = "2002-02-02 15:00:03"
var temp = "2006-01-02 15:04:05"
t, _ := time.ParseInLocation(temp, str, time.Local)
fmt.Println(t.Unix())
}