golang標準庫 time包

2021-08-14 01:26:02 字數 3167 閱讀 9435

時間型別,包含了秒和納秒以及location

type month int 月份.定義了十二個月的常量

type weekday int 周,定義了一周的七天

type duration int64 持續時間.定義了以下持續時間型別.多用於時間的加減 需要傳入duration做為引數的時候.可以直接傳入time.second

const (

nanosecond duration = 1

microsecond = 1000 * nanosecond

millisecond = 1000 * microsecond

second = 1000 * millisecond

minute = 60 * second

hour = 60 * minute

)

在time包裡有兩個時區變數:

fixedzone(name string, offset int) *location

設定時區名,以及與utc0的時間偏差.返回location

format(layout string) string

傳入目標模板(mon jan 02 15:04:05 -0700 2006).時間以這個為準

p(t.format("3:04pm"))

p(t.format("mon jan _2 15:04:05 2006"))

p(t.format("2006-01-02t15:04:05.999999-07:00"))

p(t.format("2006-01-02t15:04:05z07:00"))

fmt.printf("%d-%02d-%02dt%02d:%02d:%02d-00:00\n",

t.year(), t.month(), t.day(),

t.hour(), t.minute(), t.second())

parse(layout, value string) (time, error)

將字元竄轉換為time型別.

p := fmt.println

withnanos := "2006-01-02 15:04:05"

t, _ := time.parse(withnanos, "2013-10-05 18:30:50")

p(t.year())

parseduration(s string) (duration, error)

將字duration符竄("ns", "us" (or "碌s"), "ms", "s", "m", "h".)轉換為duration型別.就是納秒

p := fmt.println

t, _ := time.parseduration("1h")

p(t.seconds())

now() time

獲取當前時間,返回time型別

unix(sec int64, nsec int64) time

根據秒數和納秒,返回time型別

date(year int, month month, day, hour, min, sec, nsec int, loc *location) time

設定年月日返回,time型別

since(t time) duration

返回與當前時間的時間差

after(u time) bool

時間型別比較,是否在time之後

before(u time) bool

時間型別比較,是否在time之前

equal(u time) bool

比較兩個時間是否相等

iszero() bool

判斷時間是否為零值,如果sec和nsec兩個屬性都是0的話,則該時間型別為0

date() (year int, month month, day int)

返回年月日,三個引數

year() int

返回年份

month() month

返回月份.是month型別

day() int

返回多少號

weekday() weekday

返回星期幾,是weekday型別

isoweek() (year, week int)

返回年份,和該填是在這年的第幾周.

clock() (hour, min, sec int)

返回小時,分鐘,秒

hour() int

返回小時

minute() int

返回分鐘

second() int

返回秒數

nanosecond() int

返回納秒

add(d duration) time

為乙個時間,新增的時間型別為duration.更精確到納秒.比起adddate

sub(u time) duration

計算兩個時間的差.返回型別duration

adddate(years int, months int, days int) time

新增時間.以年月日為引數

utc() time

設定location為utc,然後返回時間.就是utc為0.比中國晚了八個小時.

local() time

設定location為本地時間.就是電腦時間.

in(loc *location) time

設定location為指定location

location() *location

獲取時間的location,如果是nic,返回utc,如果為空,則代表本地

zone() (name string, offset int)

返回時區,以及與utc的時間偏差

unix() int64

返回時間戳,自從2023年1月1號到現在

unixnano() int64

返回時間戳.包含納秒

func main()
gobencode() (byte, error)

編碼為gob

gobdecode(buf byte) error

從gob解碼

marshaljson() (byte, error)

編列為json

unmarshaljson(data byte) (err error)

解碼為json

func main()

golang中的標準庫time

time.time型別表示時間。我們可以通過time.now 函式獲取當前的時間物件,然後獲取時間物件的年月日時分秒等資訊。示例 如下 func main 時間戳是自1970年1月1日 08 00 00gmt 至當前時間的總毫秒數。它也被稱為unix時間戳 unixtimestamp 基於時間物件獲...

模組 包 標準庫模組 time時間

定義 包含一系列資料 函式 類的檔案,通常以.py結尾。作用讓一些相關的資料,函式,類有邏輯的組織在一起,使邏輯結構更加清晰。有利於多人合作開發。匯入import 1.語法 import 模組名 import 模組名 as 別名 2.作用 將某模組整體匯入到當前模組中 3.使用 模組名.成員 fro...

Go 學習筆記 標準庫之 time 包

go 有很多內建的標準庫,裡面封裝了很多開發中會用到的一些函式,使用這些函式可以簡化 提高開發效率。time 包就是其中之一,它裡面封裝了處理日期時間需要用到的一些功能。今天因為要做乙個功能,稍微了解了一下 time 包,官方文件,暫時先將這個功能裡面需要用到的一些方法記錄下來,以後碰到其他的知識再...