亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

golang字符串轉Time類型問題

 更新時間:2023年04月18日 15:12:46   作者:拿來吧 你  
本文主要介紹了golang字符串轉Time類型問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

最近在做項目中,遇到了golang 字符串轉Time類型的問題。調研后發(fā)現(xiàn)golang 提供了倆種方式,即time.Parse 跟 time.ParseInLocation。倆種方式 差距很大,用不好小心踩坑。

先上代碼:

 結果:

 不難發(fā)現(xiàn),倆種方式轉換后的時間戳是不一樣的。結果是差了8個小時。導致這個的原因就是時區(qū)的問題。

看下倆個函數(shù)的作用:

  • time.Parse 把時間字符串轉換為Time,時區(qū)是UTC時區(qū)。
  • time.ParseInLocation可以根據(jù)時間字符串和指定時區(qū)轉換Time。

所以,我們應該用time.ParseInLocation進行轉換,同時指定時區(qū)為本地時間。

時區(qū)

這里順便在回憶下時區(qū)的關系。

整個地球分為二十四時區(qū),每個時區(qū)都有自己的本地時間。在國際無線電通信場合,為了統(tǒng)一起見,使用一個統(tǒng)一的時間,稱為通用協(xié)調時(UTC, Universal Time Coordinated)。UTC與格林尼治平均時(GMT, Greenwich Mean Time)一樣,都與英國倫敦的本地時相同。在本文中,UTC與GMT含義完全相同。
北京時區(qū)(CST)是東八區(qū),領先UTC八個小時

關系:

UTC=GMT

CST=UTC/GMT +8 小時

時間字符串和時間戳的相互轉換

package main

import (
	"log"
	"time"
)

func main() {
	t := int64(1546926630)      //外部傳入的時間戳(秒為單位),必須為int64類型
	t1 := "2019-01-08 13:50:30" //外部傳入的時間字符串

	//時間轉換的模板,golang里面只能是 "2006-01-02 15:04:05" (go的誕生時間)
	timeTemplate1 := "2006-01-02 15:04:05" //常規(guī)類型
	timeTemplate2 := "2006/01/02 15:04:05" //其他類型
	timeTemplate3 := "2006-01-02"          //其他類型
	timeTemplate4 := "15:04:05"            //其他類型

	// ======= 將時間戳格式化為日期字符串 =======
	log.Println(time.Unix(t, 0).Format(timeTemplate1)) //輸出:2019-01-08 13:50:30
	log.Println(time.Unix(t, 0).Format(timeTemplate2)) //輸出:2019/01/08 13:50:30
	log.Println(time.Unix(t, 0).Format(timeTemplate3)) //輸出:2019-01-08
	log.Println(time.Unix(t, 0).Format(timeTemplate4)) //輸出:13:50:30

	// ======= 將時間字符串轉換為時間戳 =======
	stamp, _ := time.ParseInLocation(timeTemplate1, t1, time.Local) //使用parseInLocation將字符串格式化返回本地時區(qū)時間
	log.Println(stamp.Unix())  //輸出:1546926630
}

到此這篇關于golang字符串轉Time類型問題 的文章就介紹到這了,更多相關golang字符串轉Time類型內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關文章

  • 如何使用golang實現(xiàn)traceroute

    如何使用golang實現(xiàn)traceroute

    這篇文章主要介紹了如何使用golang實現(xiàn)traceroute,該工具在linux環(huán)境下的命令是traceroute或者tracepath,在windows下命令是tracert,本文給大家詳細講解需要的朋友可以參考下
    2023-04-04
  • 基于golang的輕量級工作流框架Fastflow

    基于golang的輕量級工作流框架Fastflow

    這篇文章主要介紹了基于golang的輕量級工作流框架Fastflow,fastflow 執(zhí)行任務的過程會涉及到幾個概念:Dag, Task, Action, DagInstance,本文給大家分享完整流程,需要的朋友可以參考下
    2022-05-05
  • Go語言如何并發(fā)超時處理詳解

    Go語言如何并發(fā)超時處理詳解

    大家都知道golang并沒有在語言層次上提供超時操作,但可以通過一些小技巧實現(xiàn)超時。下面來一起看看吧,有需要的朋友們可以參考借鑒。
    2016-09-09
  • GO的基礎知識掃盲注意事項

    GO的基礎知識掃盲注意事項

    這篇文章主要介紹了GO的基礎知識注意事項,本文是GO語言小白的掃盲文,主要講解了go語言的基本知識,GO程序目錄結構,GO程序包的導入與別名運用,GO內置關鍵字,GO注釋方法需要的朋友可以參考下
    2022-12-12
  • Golang實現(xiàn)反向代理的示例代碼

    Golang實現(xiàn)反向代理的示例代碼

    這篇文章主要為大家學習介紹了如何利用Golang實現(xiàn)反向代理,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-07-07
  • 詳解Go程序添加遠程調用tcpdump功能

    詳解Go程序添加遠程調用tcpdump功能

    這篇文章主要介紹了go程序添加遠程調用tcpdump功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • go基礎語法50問及方法詳解

    go基礎語法50問及方法詳解

    這篇文章主要為大家介紹了go基礎語法50問及方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Goland激活碼破解永久版及安裝詳細教程(親測可以)

    Goland激活碼破解永久版及安裝詳細教程(親測可以)

    這篇文章主要介紹了Goland激活碼破解永久版及安裝詳細教程(親測可以),本文通過實例圖文相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • go?原子操作的方式及實現(xiàn)原理全面深入解析

    go?原子操作的方式及實現(xiàn)原理全面深入解析

    這篇文章主要為大家介紹了go?原子操作的方式及實現(xiàn)原理深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • golang使用map支持高并發(fā)的方法(1000萬次操作14ms)

    golang使用map支持高并發(fā)的方法(1000萬次操作14ms)

    這篇文章主要介紹了golang使用map支持高并發(fā)的方法(1000萬次操作14ms),本文給大家詳細講解,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-11-11

最新評論