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