欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Golang標(biāo)準(zhǔn)庫(kù)time包日常用法小結(jié)

 更新時(shí)間:2023年11月29日 10:38:34   作者:騎著蝸牛追汽車  
本文主要介紹了Golang標(biāo)準(zhǔn)庫(kù)time包日常用法小結(jié),可以通過它們來獲取當(dāng)前時(shí)間、創(chuàng)建指定時(shí)間、解析時(shí)間字符串、控制時(shí)間間隔等操作,感興趣的可以了解一下

時(shí)間日期是編程中經(jīng)常會(huì)用到的一種數(shù)據(jù)類型,在Golang中提供time包來處理時(shí)間相關(guān)的操作。本教程將詳細(xì)介紹time包中常用函數(shù)和方法的示例

  • time.Now():獲取當(dāng)前時(shí)間。
package main

import (
	"fmt"
	"time"
)

func main() {
	currentTime := time.Now()
	fmt.Println("當(dāng)前時(shí)間:", currentTime)
 fmt.Println("當(dāng)前時(shí)間戳:", currentTime.Unix())
}

輸出:

當(dāng)前時(shí)間: 2023-09-16 10:36:49.054695 +0800 CST m=+0.011414701
當(dāng)前時(shí)間戳: 1694834492

  • time.Date():根據(jù)給定的年、月、日、時(shí)、分、秒和納秒創(chuàng)建一個(gè)時(shí)間。
package main

import (
	"fmt"
	"time"
)

func main() {
	t := time.Date(2023, time.September, 14, 18, 30, 0, 0, time.UTC)
	fmt.Println("指定時(shí)間:", t)
}

輸出:

指定時(shí)間: 2023-09-16 18:30:00 +0000 UTC

  • time.Parse():將字符串解析為時(shí)間類型。
package main

import (
	"fmt"
	"time"
)

func main() {
	layout := "2006-01-02"
	str := "2023-09-16"
	t, _ := time.Parse(layout, str)
	fmt.Println("解析后的時(shí)間:", t)
}

輸出:

解析后的時(shí)間: 2023-09-16 00:00:00 +0000 UTC

  • time.Duration():表示一段時(shí)間間隔,可以用來表示毫秒、秒、分鐘、小時(shí)等時(shí)間單位。
package main

import (
	"fmt"
	"time"
)

func main() {
	duration := time.Duration(2) * time.Second
	fmt.Println("時(shí)間間隔:", duration)
}

輸出:

時(shí)間間隔: 2s

  • time.Sleep():讓程序休眠一段時(shí)間。
package main

import (
	"fmt"
	"time"
)

func main() {
	fmt.Println("開始")
	time.Sleep(2 * time.Second)
	fmt.Println("結(jié)束")
}

輸出:

開始
// 程序休眠 2 秒
結(jié)束

  • time.Tick():創(chuàng)建一個(gè)定時(shí)器,按照指定的時(shí)間間隔間隔重復(fù)執(zhí)行某個(gè)操作。
package main

import (
	"fmt"
	"time"
)

func main() {
	ticker := time.Tick(1 * time.Second)
	for range ticker {
		fmt.Println("滴答")
	}
}

輸出:

滴答
滴答
滴答
...

  • time.Format():格式化時(shí)間為指定的字符串形式。
package main

import (
	"fmt"
	"time"
)

func main() {
	t := time.Now()
	fmt.Println("格式化時(shí)間:", t.Format("2006-01-02 15:04:05"))
}

輸出:

格式化時(shí)間: 2023-09-16 10:41:26

time.Time類型是 Go 語(yǔ)言中處理日期和時(shí)間的標(biāo)準(zhǔn)類型。它包含了各種用于操作和計(jì)算時(shí)間的方法。下面是一些常用的方法:

1.t.Add(d Duration) time.Time:這個(gè)方法用于將時(shí)間 t 增加一個(gè)時(shí)間間隔 d。參數(shù) d 的類型為Duration,它表示一個(gè)時(shí)間段??梢允褂?code>time.Second、time.Minute、time.Hour等單位表示時(shí)間間隔。示例代碼:

package main

import (
    "fmt"
    "time"
)

func main() {
    t := time.Now()
    d := 10 * time.Second
    newT := t.Add(d)

    fmt.Println("原始時(shí)間:", t)
    fmt.Println("增加時(shí)間間隔后的時(shí)間:", newT)
}

原始時(shí)間: 2023-09-16 10:42:05.113844 +0800 CST m=+0.008983801
增加時(shí)間間隔后的時(shí)間: 2023-09-16 10:42:15.113844 +0800 CST m=+10.008983801 

  • t.Sub(u time.Time) Duration:這個(gè)方法用于計(jì)算出時(shí)間 t 與時(shí)間 u 之間的時(shí)間間隔。返回值的類型為Duration,可以使用它的Seconds()、Minutes()、Hours()等方法獲取時(shí)間間隔的秒數(shù)、分鐘數(shù)、小時(shí)數(shù)等。示例代碼:
package main

import (
    "fmt"
    "time"
)

func main() {
    t1 := time.Now()
    t2 := time.Date(2022, time.January, 1, 0, 0, 0, 0, time.UTC)
    duration := t1.Sub(t2)

    fmt.Println("時(shí)間間隔:", duration)
    fmt.Println("秒數(shù):", duration.Seconds())
    fmt.Println("分鐘數(shù):", duration.Minutes())
    fmt.Println("小時(shí)數(shù):", duration.Hours())
}

時(shí)間間隔: 6194h43m3.5463288s
秒數(shù): 2.23009835463288e+07
分鐘數(shù): 371683.05910548
小時(shí)數(shù): 6194.717651758

3.t.Equal(u time.Time) bool:這個(gè)方法用于判斷兩個(gè)時(shí)間是否相等。如果兩個(gè)時(shí)間相等,則返回true,否則返回false。示例代碼:

package main

import (
    "fmt"
    "time"
)

func main() {
    t1 := time.Now()
    t2 := time.Now()
    t3 := time.Date(2023, time.January, 1, 0, 0, 0, 0, time.UTC)

    fmt.Println("t1和t2是否相等:", t1.Equal(t2))
    fmt.Println("t1和t3是否相等:", t1.Equal(t3))
}

t1和t2是否相等: true
t1和t3是否相等: false 

  • t.Before(u time.Time) bool:這個(gè)方法用于判斷時(shí)間 t 是否在時(shí)間 u 之前。如果時(shí)間 t 在時(shí)間 u 之前,則返回true,否則返回false。示例代碼:
package main

import (
    "fmt"
    "time"
)

func main() {
    t1 := time.Now()
    t2 := time.Date(2023, time.January, 1, 0, 0, 0, 0, time.UTC)

    fmt.Println("t1是否在t2之前:", t1.Before(t2))
}

t1是否在t2之前: false

5.t.After(u time.Time) bool:這個(gè)方法用于判斷時(shí)間 t 是否在時(shí)間 u 之后。如果時(shí)間 t 在時(shí)間 u 之后,則返回true,否則返回false。示例代碼:

package main

import (
    "fmt"
    "time"
)

func main() {
    t1 := time.Now()
    t2 := time.Date(2023, time.January, 1, 0, 0, 0, 0, time.UTC)

    fmt.Println("t1是否在t2之后:", t1.After(t2))
}

t1是否在t2之后: true

以上就是關(guān)于time包中一些常用函數(shù)和方法的介紹和示例代碼,可以通過它們來獲取當(dāng)前時(shí)間、創(chuàng)建指定時(shí)間、解析時(shí)間字符串、控制時(shí)間間隔等操作。結(jié)合實(shí)際需求使用這些函數(shù),方法,可以靈活地處理時(shí)間日期相關(guān)的邏輯。非常實(shí)用。更多相關(guān)Golang time包用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • golang實(shí)現(xiàn)命令行程序的使用幫助功能

    golang實(shí)現(xiàn)命令行程序的使用幫助功能

    這篇文章介紹了golang實(shí)現(xiàn)命令行程序使用幫助的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • GoFrame框架數(shù)據(jù)校驗(yàn)之校驗(yàn)對(duì)象校驗(yàn)結(jié)構(gòu)體

    GoFrame框架數(shù)據(jù)校驗(yàn)之校驗(yàn)對(duì)象校驗(yàn)結(jié)構(gòu)體

    這篇文章主要為大家介紹了GoFrame框架數(shù)據(jù)校驗(yàn)之校驗(yàn)對(duì)象校驗(yàn)結(jié)構(gòu)體示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Golang中的Slice與數(shù)組及區(qū)別詳解

    Golang中的Slice與數(shù)組及區(qū)別詳解

    數(shù)組是一種具有固定長(zhǎng)度的基本數(shù)據(jù)結(jié)構(gòu),在golang中與C語(yǔ)言一樣數(shù)組一旦創(chuàng)建了它的長(zhǎng)度就不允許改變,數(shù)組的空余位置用0填補(bǔ),不允許數(shù)組越界。今天小編通過實(shí)例代碼操作給大家詳細(xì)介紹lang中的Slice與數(shù)組的相關(guān)知識(shí),一起看看吧
    2020-02-02
  • Go語(yǔ)言做爬蟲狀態(tài)碼返回418的問題解決

    Go語(yǔ)言做爬蟲狀態(tài)碼返回418的問題解決

    在使用Go語(yǔ)言做爬蟲時(shí),使用http.Get(url)去獲取網(wǎng)頁(yè)內(nèi)容,狀態(tài)碼返回404,本文我們就詳細(xì)的介紹一下解決方法,感興趣的可以了解一下
    2021-12-12
  • Go語(yǔ)言實(shí)現(xiàn)LRU算法的核心思想和實(shí)現(xiàn)過程

    Go語(yǔ)言實(shí)現(xiàn)LRU算法的核心思想和實(shí)現(xiàn)過程

    這篇文章主要介紹了Go語(yǔ)言實(shí)現(xiàn)LRU算法的核心思想和實(shí)現(xiàn)過程,LRU算法是一種常用的緩存淘汰策略,它的核心思想是如果一個(gè)數(shù)據(jù)在最近一段時(shí)間內(nèi)沒有被訪問到,那么在將來它被訪問的可能性也很小,因此可以將其淘汰,感興趣想要詳細(xì)了解可以參考下文
    2023-05-05
  • Golang三個(gè)編譯基本命令的使用小結(jié)

    Golang三個(gè)編譯基本命令的使用小結(jié)

    本文主要介紹了Golang三個(gè)編譯基本命令的使用小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • golang如何實(shí)現(xiàn)抓取IP地址的蜘蛛程序詳解

    golang如何實(shí)現(xiàn)抓取IP地址的蜘蛛程序詳解

    這篇文章主要給大家介紹了關(guān)于利用golang如何實(shí)現(xiàn)抓取IP地址的蜘蛛程序的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • GOPROXY:解決go get golang.org/x包失敗問題

    GOPROXY:解決go get golang.org/x包失敗問題

    這篇文章主要介紹了GOPROXY:解決go get golang.org/x包失敗問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • golang 后臺(tái)進(jìn)程的啟動(dòng)和停止操作

    golang 后臺(tái)進(jìn)程的啟動(dòng)和停止操作

    這篇文章主要介紹了golang 后臺(tái)進(jìn)程的啟動(dòng)和停止操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Golang中panic的異常處理

    Golang中panic的異常處理

    本文主要介紹了Golang中panic的異常處理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08

最新評(píng)論