1. package main
    2. import (
    3. "fmt"
    4. "time"
    5. )
    6. //1、打印当前日期
    7. func main() {
    8. timeObj := time.Now()
    9. fmt.Println(timeObj) //2020-04-26 17:32:25.9639049 +0800 CST m=+0.004000301
    10. // 2020-04-26 17:32:25
    11. year := timeObj.Year()
    12. month := timeObj.Month()
    13. day := timeObj.Day()
    14. hour := timeObj.Hour()
    15. minute := timeObj.Minute()
    16. second := timeObj.Second()
    17. // fmt.Printf("%d-%d-%d %d:%d:%d", year, month, day, hour, minute, second) //2020-4-26 17:35:07
    18. fmt.Printf("%d-%02d-%02d %02d:%02d:%02d", year, month, day, hour, minute, second) //2020-04-26 17:36:04
    19. //注意:%02d 中的 2 表示宽度,如果整数不够 2 列就补上 0
    20. }
    1. package main
    2. import (
    3. "fmt"
    4. "time"
    5. )
    6. /*
    7. 时间类型有一个自带的方法Format进行格式化,
    8. 需要注意的是Go语言中格式化时间模板不是常见的Y-m-d H:M:S
    9. 而是使用Go的诞生时间2006年1月2号15点04分(记忆口诀为2006 1 2 3 4)
    10. 2006 年
    11. 01 月
    12. 02 日
    13. 03 时 12小时制 写成:15 表示 24小时制
    14. 04 分
    15. 05 秒
    16. */
    17. func main() {
    18. // timeObj := time.Now()
    19. // var str = timeObj.Format("2006-01-02 03:04:05")
    20. // fmt.Println(str) //2020-04-26 05:44:24
    21. //12小时制
    22. // timeObj := time.Now()
    23. // var str = timeObj.Format("2006/01/02 03:04:05")
    24. // fmt.Println(str) //2020/04/26 05:44:47
    25. // 24小时制
    26. timeObj := time.Now()
    27. var str = timeObj.Format("2006/01/02 15:04:05")
    28. fmt.Println(str) // 2020/04/26 17:48:53
    29. }
    1. package main
    2. import (
    3. "fmt"
    4. "time"
    5. )
    6. /*
    7. 时间戳是自 1970 年 1 月 1 日(08:00:00GMT)至当前时间的总毫秒数。它也被称为 Unix 时 间戳(UnixTimestamp)。
    8. */
    9. func main() {
    10. timeObj := time.Now()
    11. unixtime := timeObj.Unix() //获取当前的时间戳 (毫秒)
    12. fmt.Println("当前时间戳:", unixtime) //当前时间戳: 1587894706
    13. unixNatime := timeObj.UnixNano() //纳秒时间戳
    14. fmt.Println("当前纳秒时间戳:", unixNatime) //当前时间戳: 1587894791217129300
    15. }
    1. package main
    2. import (
    3. "fmt"
    4. "time"
    5. )
    6. //时间戳转换成日期字符串
    7. func main() {
    8. // unixTime: 1587888473
    9. unixTime := 1587894706
    10. timeObj := time.Unix(int64(unixTime), 0)
    11. var str = timeObj.Format("2006-01-02 15:04:05")
    12. fmt.Println(str) //2020-04-26 17:51:46
    13. }
    1. package main
    2. import (
    3. "fmt"
    4. "time"
    5. )
    6. //日期字符串转换成时间戳
    7. func main() {
    8. var str = "2020-04-26 15:38:04"
    9. var tmp = "2006-01-02 15:04:05"
    10. timeObj, _ := time.ParseInLocation(tmp, str, time.Local)
    11. fmt.Println(timeObj) //2020-04-26 15:38:04 +0800 CST
    12. fmt.Println(timeObj.Unix()) //1587886684
    13. }
    1. package main
    2. import (
    3. "fmt"
    4. "time"
    5. )
    6. //日期字符串转换成时间戳
    7. func main() {
    8. /*
    9. 1、time包中定义的时间间隔类型的常量如下:
    10. const (
    11. Nanosecond Duration = 1
    12. Microsecond = 1000 * Nanosecond
    13. Millisecond = 1000 * Microsecond
    14. Second = 1000 * Millisecond
    15. Minute = 60 * Second
    16. Hour = 60 * Minute
    17. )
    18. */
    19. // fmt.Println(time.Millisecond) //1毫秒
    20. // fmt.Println(time.Second) //1秒
    21. /*
    22. 2、时间操作函数
    23. */
    24. var timeObj = time.Now()
    25. fmt.Println(timeObj)
    26. timeObj = timeObj.Add(time.Hour)
    27. fmt.Println(timeObj)
    28. /*
    29. 2020-04-26 18:15:05.4612997 +0800 CST m=+0.005000201
    30. 2020-04-26 19:15:05.4612997 +0800 CST m=+3600.005000201
    31. */
    32. }
    1. package main
    2. import (
    3. "fmt"
    4. "time"
    5. )
    6. /*
    7. golang定时器
    8. */
    9. func main() {
    10. // // time.Now()
    11. // ticker := time.NewTicker(time.Second)
    12. // // ticker.C
    13. // for t := range ticker.C {
    14. // fmt.Println(t)
    15. // }
    16. // time.Now()
    17. // ticker := time.NewTicker(time.Second)
    18. // n := 5
    19. // for t := range ticker.C {
    20. // n--
    21. // fmt.Println(t)
    22. // if n == 0 {
    23. // ticker.Stop() //终止这个定时器继续执行
    24. // break
    25. // }
    26. // }
    27. //休眠方法
    28. // fmt.Println("aaa")
    29. // time.Sleep(time.Second)
    30. // fmt.Println("aaa2")
    31. // time.Sleep(time.Second)
    32. // fmt.Println("aaa3")
    33. // time.Sleep(time.Second * 5)
    34. // fmt.Println("aaa4")
    35. for {
    36. time.Sleep(time.Second)
    37. fmt.Println("我在定时执行任务")
    38. }
    39. }