時間和日期是我們程式設計中經常會用到的,本文主要介紹了go語言內建的time包的基本用法。
時間型別
time包提供了時間的顯示和測量用的函式。日曆的計算採用的是公曆。
time.time
型別表示時間。我們可以通過time.now()
函式獲取當前的時間物件,然後獲取時間物件的年月日時分秒等資訊。示例**如下:
func timedemo()
時間戳時間戳是自2023年1月1日(08:00:00gmt)至當前時間的總毫秒數。它也被稱為unix時間戳(unixtimestamp)。
基於時間物件獲取時間戳的示例**如下:
//時間戳func timestampdemo()
使用time.unix()將時間戳轉換為時間 格式
func timestampdemo2(timestamp int64)
時間間隔
time.duration
是time
包定義的乙個型別,它代表兩個時間點之間經過的時間,以納秒為單位。time.duration
表示一段時間間隔,可表示的最長時間段大約290年。
//時間間隔fmt.println(time.second)
//sleep多少秒
time.sleep(2 *time.second)
fmt.println(
"時間過去了2s")
// now +24小時
fmt.println(now.add(24 * time.hour))
時間操作
package mainimport
(
"fmt""
time")
func f1()
now =now.utc()
d :=nextyear.sub(now)
fmt.println(d)
fmt.println(
"---------------------")
fmt.println(now.format(
"2006-01-02"))
fmt.println(now.format(
"2006-01-02 15:04:05 "))
fmt.println(now.format(
"2006-01-02 03:04:05 am"))
fmt.println(now.format(
"2006-01-02 15:04:05 pm"))
timeobj, err := time.parse("
2006-01-02
", "
2021-05-13")
if err !=nil
fmt.println(timeobj)
fmt.println(timeobj.unix())
}//時區
func f2()
loc, err := time.loadlocation("
asia/shanghai")
if err !=nil
//按照指定時區解析時間
timeobj, err := time.parseinlocation("
2006-01-02 03:04:05
", "
2021-05-13 11:33:30
", loc)
if err !=nil
fmt.println(timeobj)
time_delta :=timeobj.sub(now)
fmt.println(time_delta)
}func f3()
func main()
時間格式化
時間型別有乙個自帶的方法format
進行格式化,需要注意的是go語言中格式化時間模板不是常見的y-m-d h:m:s
而是使用go的誕生時間2023年1月2號15點04分(記憶口訣為2006 1 2 3 4)。也許這就是技術人員的浪漫吧。
補充:如果想格式化為12小時方式,需指定pm
。
func formatdemo()
func f4()//按照指定的時區和指定的格式解析字串
timeobj, err := time.parseinlocation("
2006/01/02 15:04:05
","2021/05/14 11:08:20
", loc)
if err !=nil
fmt.println(timeobj)
fmt.println(timeobj.add(10 *time.second))
}
生成隨機數種子, 生成隨機數
package mainimport
(
"fmt""
math/rand""
time")
//waitgroup
func f()
}func main()
package main
import
(
"fmt""
math/rand""
time")
//waitgroup
func f()
}func main()
Go語言基礎之time包
時間和日期是我們程式設計中經常會用到的,本文主要介紹了go語言內建的time包的基本用法。go語言中使用import關鍵字匯入包,包的名字使用雙引號 包裹起來。import time import fmt 匯入多個包時可以使用圓括號,包名的順序不影響匯入效果,例如 import fmt time 需...
go語言基礎 時間time包
time包下有很多跟時間有關係的方法,以前我們介紹的隨機數就是利用了time包下的乙個方法,接下來我再來介紹一些常用方法 日期和時間 now time,獲取當前的日期 date time,獲取指定的日期 time string,string time 格式化列印當前時間,要按照go語言特定的格式輸入...
Go語言編寫規範之time包
time.time可以理解為時間單位,其中包含了一些對時間的處理方法,time.now 返回就是time.time型別 在處理時間的瞬時時使用time.time,在比較 新增或減去時間時使用time.time中的方法。badgood func isactive now,start,stop int ...