时间和日期,相关的函数

package main

import (
	"time"
	"fmt"
)

func main() {
	// 获取 当前时间
	now := time.Now()
	fmt.Println("当前时间:",now)	// %!(EXTRA time.Time=2021-04-09 15:58:34.0508706 +0800 CST m=+0.004986801)
	fmt.Printf("当前时间=%v , 类型=%T",now,now)		// now=2021-04-09 16:03:41.2784475 +0800 CST m=+0.004986101 , type=time.Time
	fmt.Println("\n")

	// 获取 年月日时分秒
	fmt.Println(now)
	fmt.Println(now.Year(),now.Month(),int(now.Month()),now.Day())		// 2021 April 4 9
	fmt.Println(now.Hour(),now.Minute(),now.Second())					// 16 23 20

	// 格式化时间		Printf  SPrintf
	fmt.Printf("年月日时分秒  %d-%d-%d %d:%d:%d \n",now.Year(),int(now.Month()),now.Day(),now.Hour(),now.Minute(),now.Second())
	dateStr := fmt.Sprintf("年月日时分秒  %d-%d-%d %d:%d:%d \n",now.Year(),int(now.Month()),now.Day(),now.Hour(),now.Minute(),now.Second())
	fmt.Printf(dateStr)			// 结果相同:	年月日时分秒  2021-4-9 16:23:20

	fmt.Println(now.Format("2006-01-02 15:04:05"))		// 固定格式输出当前 年月日时分秒,2006-01-02 15:04:05,固定写法
	fmt.Println(now.Format("2006-01-02"))
	fmt.Println(now.Format("15:04:05"))

	// time.sleep 用法
	// Year,Month,Day,Hour,Minute,Second,Millisecond毫秒,Microsescond微秒,Nanosecond纳秒
	t1 := time.Now().Second()
	time.Sleep(time.Second * 3)			// 睡3秒
	t2 := time.Now().Second()
	fmt.Println(t2-t1)
	fmt.Println(time.Now().Year())

	// time Unix和UnixNano 的用法
	// 从时间点 1970年1月1日 UTC时间到时间点所经过的时间
	now1 := time.Now()
	fmt.Println(now1.Unix())			// 单位:秒		1618195108
	fmt.Println(now1.UnixNano())		// 单位:纳秒	1618195108933101300
	// 如果 纳秒为单位的unix时间超出了int64能表示的范围,结果是 未定义的


}

  

posted on 2021-04-08 16:41  二十四岁半  阅读(34)  评论(0编辑  收藏  举报

导航