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

Go各時(shí)間字符串使用解析

 更新時(shí)間:2021年04月02日 10:23:47   作者:caoayu  
這篇文章主要介紹了Go各時(shí)間字符串使用解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

Go 中時(shí)間格式化的模板

const (
  ANSIC    = "Mon Jan _2 15:04:05 2006"
  UnixDate  = "Mon Jan _2 15:04:05 MST 2006"
  RubyDate  = "Mon Jan 02 15:04:05 -0700 2006"
  RFC822   = "02 Jan 06 15:04 MST"
  RFC822Z   = "02 Jan 06 15:04 -0700" // RFC822 with numeric zone
  RFC850   = "Monday, 02-Jan-06 15:04:05 MST"
  RFC1123   = "Mon, 02 Jan 2006 15:04:05 MST"
  RFC1123Z  = "Mon, 02 Jan 2006 15:04:05 -0700" // RFC1123 with numeric zone
  RFC3339   = "2006-01-02T15:04:05Z07:00"
  RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
  Kitchen   = "3:04PM"
  // Handy time stamps.
  Stamp   = "Jan _2 15:04:05"
  StampMilli = "Jan _2 15:04:05.000"
  StampMicro = "Jan _2 15:04:05.000000"
  StampNano = "Jan _2 15:04:05.000000000"
)

上面這些是官方定義的layout常量,我們自己也可以定義,如:

"2006-01-02 15:04:05"
"2006-01-02"
"2006-01-02 15:04"
"2006-01-02T15:04" //js和html中多用這種形式
"2006-01-02 15:03:04 -0700 MST"

Format 格式化為字符串

format 的使用對(duì)象是一個(gè) time.Time 對(duì)象,可以使用官方或者自己定義的布局進(jìn)行格式化的輸出,如:

now := time.Now()
now.Format("2006-01-02 15:04:05") //輸出 2020-07-21 10:12:13

Parse 字符串解析為時(shí)間戳或int64

Parse 方法

需要兩個(gè)參數(shù),第一個(gè)是布局,第二個(gè)是字符串

//Parse解析格式化的字符串并返回它表示的時(shí)間值。
//布局通過(guò)顯示參考時(shí)間(定義為2006年1月2日星期一1:04:05 -0700
//如果它是值,則將被解釋;它作為一個(gè)例子
//輸入格式。然后將對(duì)輸入字符串。預(yù)定義的布局ANSIC,UnixDate,RFC3339等描述了參考時(shí)間的標(biāo)準(zhǔn)和便捷表示形式。有關(guān)格式和參考時(shí)間的定義的更多信息,請(qǐng)參見(jiàn)ANSIC文檔以及此程序包定義的其他常量。
//解析時(shí)間偏移為-0700的時(shí)間時(shí),如果偏移量對(duì)應(yīng)于當(dāng)前位置(本地)使用的時(shí)區(qū),則Parse在返回的時(shí)間中使用該位置和時(shí)區(qū)。否則,它將時(shí)間記錄為處于偽造位置,時(shí)間固定在給定的區(qū)域偏移量。
//
//另外,Time.Format的可執(zhí)行示例詳細(xì)說(shuō)明了布局字符串的工作原理,是一個(gè)很好的參考。
//
//值中省略的元素假定為零,或者
//零不可能為1,因此解析“ 3:04 pm”將返回時(shí)間
//對(duì)應(yīng)于1月1日,0,15:04:00 UTC(請(qǐng)注意,因?yàn)槟攴菔?
//0,此時(shí)間早于零時(shí)間)。
//年份必須在0000..9999的范圍內(nèi)。將檢查星期幾的語(yǔ)法,否則將忽略該語(yǔ)法。
//
//解析帶有MST等區(qū)域縮寫(xiě)的時(shí)間時(shí),如果該區(qū)域縮寫(xiě)在當(dāng)前位置具有已定義的偏移量,則使用該偏移量。
//區(qū)域縮寫(xiě)“ UTC”被識(shí)別為UTC,與位置無(wú)關(guān)。
//如果未知區(qū)域縮寫(xiě),則Parse將時(shí)間記錄為位于指定位置的偽造位置,并具有零偏移量。
//此選擇意味著可以使用相同的布局無(wú)損地解析和重新格式化這樣的時(shí)間,但是表示中使用的確切瞬間將因?qū)嶋H區(qū)域偏移而有所不同。為避免此類問(wèn)題,請(qǐng)首選使用數(shù)字區(qū)域偏移量的時(shí)間布局或使用ParseInLocation。
func Parse(layout, value string) (Time, error) {
 return parse(layout, value, UTC, Local)
}

使用例子:

eg, err := time.Parse("2006-01-02 15:04:05 -0700 MST", "2019-08-29 16:48:21 +0800 CST")
//輸出結(jié)果為time.Time格式 使用 format格式化后為 2019-08-29 16:48:21 
ParseInLocation
//ParseInLocation類似于Parse,但在兩個(gè)重要方面有所不同。
//首先,在沒(méi)有時(shí)區(qū)信息的情況下,Parse將時(shí)間解釋為UTC;
//ParseInLocation將時(shí)間解釋為給定位置。
//第二,當(dāng)給定區(qū)域偏移量或縮寫(xiě)時(shí),Parse嘗試將其與本地位置進(jìn)行匹配; ParseInLocation使用給定的位置
func ParseInLocation(layout, value string, loc *Location) (Time, error) {
 return parse(layout, value, loc, loc)
}

參數(shù): 1. 布局 2. 字符串 3. 時(shí)區(qū)

獲取本地時(shí)區(qū)可以使用 time.Local

使用例子:

onlineAt, err := time.ParseInLocation("2006-01-02T15:04", "2020-01-02T15:04"), time.Local)

解析為int64

對(duì)于 time.Time 對(duì)象,可以使用.Unix() 方法轉(zhuǎn)為 int64,如:

eg.Unix() //默認(rèn)使用 UTC時(shí)區(qū) 
eg.Local().Unix() //返回本地時(shí)區(qū)的時(shí)間戳 int64

參考文章: golang的時(shí)區(qū)和神奇的time.Parse

到此這篇關(guān)于Go各時(shí)間字符串使用解析的文章就介紹到這了,更多相關(guān)Go 時(shí)間字符串 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文帶你探索Go語(yǔ)言中的函數(shù)一等公民

    一文帶你探索Go語(yǔ)言中的函數(shù)一等公民

    你是否聽(tīng)說(shuō)過(guò)?Go?語(yǔ)言中的函數(shù)是一等公民,如果沒(méi)有,那么恭喜你,本文將帶你一起揭開(kāi)這個(gè)神秘的面紗,感興趣的小伙伴快來(lái)和小編一起學(xué)習(xí)起來(lái)吧
    2023-07-07
  • Golang開(kāi)發(fā)中常用的代碼片段匯總

    Golang開(kāi)發(fā)中常用的代碼片段匯總

    這篇文章主要給大家匯總了在Golang開(kāi)發(fā)中常用的代碼片段,這些代碼片段都是在日常工作中編寫(xiě)golang應(yīng)用時(shí)使用到,需要的朋友可以參考借鑒,下面跟著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧。
    2017-07-07
  • Go語(yǔ)言 init函數(shù)的具體使用

    Go語(yǔ)言 init函數(shù)的具體使用

    init()函數(shù)是Go語(yǔ)言中一種特殊的函數(shù),用于在包被導(dǎo)入時(shí)執(zhí)行一次性的初始化操作,本文就來(lái)介紹一下Go語(yǔ)言 init函數(shù)的具體使用,感興趣的可以了解一下
    2024-09-09
  • go?mode?tidy出現(xiàn)報(bào)錯(cuò)go:?warning:?“all“?matched?no?packages的解決方法

    go?mode?tidy出現(xiàn)報(bào)錯(cuò)go:?warning:?“all“?matched?no?package

    使用go的時(shí)候我們一般都會(huì)使用go?mode管理,下面這篇文章主要給大家介紹了關(guān)于go?mode?tidy出現(xiàn)報(bào)錯(cuò)go:?warning:?“all“?matched?no?packages的解決方法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Go語(yǔ)言基礎(chǔ)函數(shù)包的使用學(xué)習(xí)

    Go語(yǔ)言基礎(chǔ)函數(shù)包的使用學(xué)習(xí)

    本文通過(guò)一個(gè)實(shí)現(xiàn)加減乘除運(yùn)算的小程序來(lái)介紹go函數(shù)的使用,以及使用函數(shù)的注意事項(xiàng),并引出了對(duì)包的了解和使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Go 中 slice 的 In 功能實(shí)現(xiàn)探索

    Go 中 slice 的 In 功能實(shí)現(xiàn)探索

    這篇文章主要介紹了Go 中 slice 的 In 功能實(shí)現(xiàn)探索,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Go 標(biāo)準(zhǔn)庫(kù)增加metrics指標(biāo)探討分析

    Go 標(biāo)準(zhǔn)庫(kù)增加metrics指標(biāo)探討分析

    go中有一個(gè)神奇的標(biāo)準(zhǔn)庫(kù) runtime/metrics,提供了一系列預(yù)定義好的 Go 自身的相關(guān)指標(biāo),如果沒(méi)有編寫(xiě)過(guò)基礎(chǔ)監(jiān)控庫(kù)或者關(guān)注的比較少的朋友可能會(huì)沒(méi)接觸到這類指標(biāo),本文展開(kāi)現(xiàn)有metrics 指標(biāo),并結(jié)合現(xiàn)有的社區(qū)討論一起看看還有沒(méi)有必要增加更多的標(biāo)準(zhǔn)庫(kù)指標(biāo)
    2023-10-10
  • Go語(yǔ)言實(shí)戰(zhàn)之實(shí)現(xiàn)均衡器功能

    Go語(yǔ)言實(shí)戰(zhàn)之實(shí)現(xiàn)均衡器功能

    這篇文章主要為大家詳細(xì)介紹了如何利用Golang?實(shí)現(xiàn)一個(gè)簡(jiǎn)單的流浪均衡器,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-04-04
  • go語(yǔ)言規(guī)范RESTful?API業(yè)務(wù)錯(cuò)誤處理

    go語(yǔ)言規(guī)范RESTful?API業(yè)務(wù)錯(cuò)誤處理

    這篇文章主要為大家介紹了go語(yǔ)言規(guī)范RESTful?API業(yè)務(wù)錯(cuò)誤處理方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 一文帶你掌握Go語(yǔ)言中的文件讀取操作

    一文帶你掌握Go語(yǔ)言中的文件讀取操作

    這篇文章主要和大家分享一下Go語(yǔ)言中的文件讀取操作,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Go語(yǔ)言有一定的幫助,需要的小伙伴可以參考一下
    2022-12-12

最新評(píng)論