1000毫秒(1000ms是多少秒)

时间类型概述

  • 时间类型在实际开发中使用频率很高,代表现实世界的时间
  • 在Go语言中时间类型不是关键字而是使用time包下Time结构体
  • 时间类型默认显示为UTC,所以经常需要把时间类型转换为字符串,显示成我们所熟悉的格式

Time的使用

  • 声明Time时,默认时间是无意义的

package mainimport ( "fmt" "time")//以上内容在下列代码块中省略func main() { var t time.Time fmt.Println(t) //输出:0001-01-01 00:00:00 0000 UTC}

  • 可以通过time包下的Now()函数获取操作系统当前时间

0800 CST表示北京时间,东八区

func main() { t :=time.Now() fmt.Println(t) //输出: 2020-12-30 21:02:03.0912064 0800 CST m= 0.017988201}

  • 也可以通过时间戳创建时间类型变量(距离1970年1月1日的纳秒差)

func main() { /* 1秒(s)=1000毫秒(ms) 1秒(s)=1000 000微妙(us) 1秒(s)=1000 000 000纳秒(ns) */ t :=time.Now() t1 := time.Unix(0,t.UnixNano()) //根据时间戳创建时间,第二个值[0, 999999999]外合法 fmt.Println(t.String()) //输出:2021-01-01 15:19:43.1850814 0800 CST m= 0.017950101 fmt.Println(t1) //输出:2021-01-01 15:19:43.1850814 0800 CST}

  • 根据自己要求创建时间

func main() { t :=time.Date(2020, 5, 23,7, 8, 9, 0, time.Local) fmt.Println(t) //输出: 2020-05-23 07:08:09 0800 CST}

在time包下提供了大量的函数或方法获取时间的某一项

func main() { t := time.Now() fmt.Println(t) fmt.Println(t.Year()) //年 fmt.Println(int(t.Month())) //月 fmt.Println(t.Day()) //日 fmt.Println(t.Date()) //三个参数,分别是:年、月、日 fmt.Println(t.Hour()) //小时 fmt.Println(t.Minute()) //分 fmt.Println(t.Second()) //秒 fmt.Println(t.Clock()) //三个参数: 分别是:小时,分钟,秒 fmt.Println(t.Nanosecond()) //纳秒 fmt.Println(t.Unix()) //秒差 fmt.Println(t.UnixNano()) //纳秒差}

时间和string相互转换

  • 时间转换为string

参数必须是这个时间,为Go语言出现时间

func main() { t := time.Now() //参数必须是这个时间,格式任意 s := t.Format("2020-05-23 15:04:05",) fmt.Println(s)}

  • string转换为时间

func main() { s := "2022-02-04 15:04:05" t,err := time.Parse("2022-02-04 22:02:04",s) fmt.Println(t,err)}

(0)
上一篇 2022年7月23日
下一篇 2022年7月23日

相关推荐