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

golang時間及時間戳的獲取轉換

 更新時間:2022年06月20日 11:25:35   作者:杰哥的技術雜貨鋪  
本文主要介紹了golang時間及時間戳的獲取轉換,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

一、獲取時間

1.1 獲取當前時間

代碼實現(xiàn)

package main

import (
? ? ? ? "fmt"
? ? ? ? "time"
)

func main() {
? ?currentTime := time.Now() ? ? ? ? ? ? ? ? ?//當前時間
? ?currentYear := time.Now().Year() ? ? ? ?//當前年
? ?currentMonth := time.Now().Month() ? ? ? //當前月
? ?currentDay := time.Now().Day() ? ? ? ? //當前日
? ?currentHour := time.Now().Hour() ? ? ? ?//當前小時小時
? ?currentMinute := time.Now().Minute() ? ? ?//當前分鐘
? ?currentSecond := time.Now().Second() ? ? ?//當前秒
? ?currentNSecond := time.Now().Nanosecond() ?//當前納秒
? ?
? ?//打印結果
? ?fmt.Println("當前時間是:", currentTime)
? ?fmt.Println("當前年:", currentYear)
? ?fmt.Println("當前月:", currentMonth)
? ?fmt.Println("當前日:", currentDay)
? ?fmt.Println("當前小時:", currentHour)
? ?fmt.Println("當前分鐘:", currentMinute)
? ?fmt.Println("當前秒:", currentSecond)
? ?fmt.Println("當前納秒:", currentNSecond)
}

結果輸出

當前時間是: 2022-04-22 16:42:44.1160954 +0800 CST m=+0.004795301
當前年: 2022
當前月: April
當前日: 22
當前小時: 16
當前分鐘: 42
當前秒: 44
當前納秒: 150022700

1.2 獲取之前/之后的時間

獲取1分鐘之前的時間戳

package main

import (
?? ?"fmt"
?? ?"time"
)

func main() {
?? ?currentTime := time.Now()
?? ?m, _ := time.ParseDuration("-1m")
?? ?result := currentTime.Add(m)
?? ?fmt.Println(result)
}

說明

  • time.ParseDuration 將傳入的"-1m"轉換為“持續(xù)時間”類型(time.Duration),輸出為-0h1m0s
  • 之后Add() 可對其和時間進行計算

結果輸出

2022-04-22 16:43:20.9844622 +0800 CST m=-59.994691699

獲取一小時之前的時間

方法同上,持續(xù)時間可如下轉換:time.ParseDuration(“-1h”)

package main

import (
?? ?"fmt"
?? ?"time"
)

func main() {
?? ?currentTime := time.Now()
?? ?m, _ := time.ParseDuration("-1h")
?? ?result := currentTime.Add(m)
?? ?fmt.Println(result)
}

結果輸出

2022-04-22 15:47:01.9977133 +0800 CST m=-3599.992986699

獲取1小時后的時間

方法同上,持續(xù)時間可如下轉換:ime.ParseDuration(“1h”)

package main

import (
?? ?"fmt"
?? ?"time"
)

func main() {
?? ?currentTime := time.Now()
?? ?m, _ := time.ParseDuration("1h")
?? ?result := currentTime.Add(m)
?? ?fmt.Println(result)
}

結果輸出

2022-04-22 17:50:58.3395738 +0800 CST m=+3600.004424801

二、獲時間戳

2.1 獲取當前時間戳

package main

import (
?? ?"fmt"
?? ?"time"
)

func main() {
?? ?fmt.Printf("時間戳(秒):%v;\n", time.Now().Unix())
?? ?fmt.Printf("時間戳(納秒):%v;\n",time.Now().UnixNano())
?? ?fmt.Printf("時間戳(毫秒):%v;\n",time.Now().UnixNano() / 1e6)
?? ?fmt.Printf("時間戳(納秒轉換為秒):%v;\n",time.Now().UnixNano() / 1e9)
}

輸出結果

時間戳(秒):1650617834;
時間戳(納秒):1650617834110539400;
時間戳(毫秒):1650617834110;
時間戳(納秒轉換為秒):1650617834;

2.2 時間轉時間戳

代碼實現(xiàn)

package main

import (
?? ?"fmt"
?? ?"time"
)

func main() {
?? ?timeStamp := time.Date(2022, 5, 20, 13, 14, 0, 0, time.Local).Unix()
?? ?fmt.Println("時間轉時間戳:",timeStamp)
}

結果輸出

時間轉時間戳: 1653023640

示例:獲取當天01:00:00的時間戳

package main

import (
?? ?"fmt"
?? ?"time"
)


func main() {
?? ?currentYear := time.Now().Year()
?? ?currentMonth := time.Now().Month()
?? ?currentDay := time.Now().Day()
?? ?timeStamp := time.Date(currentYear, currentMonth, currentDay, 1, 0, 0, 0, time.Local).Unix()
?? ?fmt.Println("當天某個時間點的時間戳:",timeStamp)
}

結果輸出

當天某個時間點的時間戳: 1650560400

2.2 時間戳轉時間

基本使用

package main

import (
?? ?"fmt"
?? ?"time"
)

func main() {
?? ?timeStr := time.Unix(1650617834, 0)
?? ?fmt.Println(timeStr)
}

結果輸出

2022-04-22 16:57:14 +0800 CST

按模板格式化輸出

注意:模板格式里的時間不能隨意更改

package main

import (
?? ?"fmt"
?? ?"time"
)

func main() {
?? ?timeLayout := "2006-01-02 15:04:05"
?? ?timeStr := time.Unix(1653023640, 0).Format(timeLayout)
?? ?fmt.Println(timeStr)
}

結果輸出

2022-05-20 13:14:00

模板輸出當前時間

同上例,只是將當前時間戳轉換成了時間字串輸出

package main

import (
?? ?"fmt"
?? ?"time"
)

func main() {
?? ?timeStamp := time.Now().Unix()
?? ?timeLayout := "2006-01-02 15:04:05"
?? ?timeStr := time.Unix(timeStamp, 0).Format(timeLayout)
?? ?fmt.Println(timeStr)

}

結果輸出

2022-04-22 17:21:31

3. 時間計算

3.1 時間加時間段

方法

 currentTime := time.Now()
 m, _ := time.ParseDuration("-1m")
 result := currentTime.Add(m)

示例

package main

import (
?? ?"fmt"
?? ?"time"
)

func main() {
?? ?currentTime := time.Now()
?? ?m, _ := time.ParseDuration("-1m")
?? ?result := currentTime.Add(m)
?? ?fmt.Println(result)
}

結果輸出

2022-04-22 17:23:04.2727584 +0800 CST m=-59.995884099

3.2 計算兩時間之差

語法

timeOne - timeTwo的方法如下:

timeOne.Sub(timeTwo)

示例

package main

import (
?? ?"fmt"
?? ?"time"
)

func main() {
?? ?currentTime := time.Now()
?? ?//創(chuàng)建時間1
?? ?timeDuOne, _ := time.ParseDuration("-1h")
?? ?timeOne := currentTime.Add(timeDuOne)
?? ?fmt.Println("時間1:",timeOne)
?? ?//創(chuàng)建時間2
?? ?timeDuTwo, _ := time.ParseDuration("1h")
?? ?timeTwo := currentTime.Add(timeDuTwo)
?? ?fmt.Println("時間2:",timeTwo)
?? ?//計算兩時間
?? ?dTime := timeOne.Sub(timeTwo)
?? ?fmt.Println("兩時間的差是", dTime)

?? ?m := timeOne.Sub(timeTwo)
?? ?fmt.Println("差值按分鐘計:", m.Minutes())

?? ?h := timeOne.Sub(timeTwo)
?? ?fmt.Println("差值按小時計:", h.Hours())

?? ?d := timeOne.Sub(timeTwo)
?? ?fmt.Println("差值按天計算:", d.Hours()/24)
}

結果輸出

時間1: 2022-04-22 16:28:04.525285 +0800 CST m=-3599.994894399
時間2: 2022-04-22 18:28:04.525285 +0800 CST m=+3600.005105601
兩時間的差是 -2h0m0s
差值按分鐘計: -120
差值按小時計: -2
差值按天計算: -0.08333333333333333

到此這篇關于golang時間及時間戳的獲取轉換的文章就介紹到這了,更多相關golang 時間戳轉換內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

相關文章

  • Go語言Gin框架獲取請求參數(shù)的兩種方式

    Go語言Gin框架獲取請求參數(shù)的兩種方式

    在添加路由處理函數(shù)之后,就可以在路由處理函數(shù)中編寫業(yè)務處理代碼了,而編寫業(yè)務代碼第一件事一般就是獲取HTTP請求的參數(shù)吧,Gin框架在net/http包的基礎上封裝了獲取參數(shù)的方式,本文小編給大家介紹了獲取參數(shù)的兩種方式,需要的朋友可以參考下
    2024-01-01
  • Go語言接口定義與用法示例

    Go語言接口定義與用法示例

    這篇文章主要介紹了Go語言接口定義與用法,較為詳細的分析了Go語言中接口的概念、定義、用法,需要的朋友可以參考下
    2016-07-07
  • Go語言中的通道channel詳情

    Go語言中的通道channel詳情

    這篇文章主要介紹了Go語言中的通道channel,在Go語言中管道類似于一個數(shù)據(jù)流,每次放入或者取出一部分數(shù)據(jù),數(shù)據(jù)取出后原通道內的數(shù)據(jù)就刪除掉,在linux操作系統(tǒng)中管道會將函數(shù)的返回結果作為下一個函數(shù)的參數(shù),下文詳細內容需要的朋友可以參考下
    2022-02-02
  • 詳解Go?語言如何通過測試保證質量

    詳解Go?語言如何通過測試保證質量

    這篇文章主要為大家介紹了Go?語言如何通過測試保證質量詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • graphql---go http請求使用詳解

    graphql---go http請求使用詳解

    這篇文章主要介紹了graphql---go http請求使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • GoLang?Time時間操作函數(shù)講解

    GoLang?Time時間操作函數(shù)講解

    在日常開發(fā)中,我們避免不了時間的使用,我們可能需要獲取當前時間,然后格式化保存,也可能需要在時間類型與字符串類型之間相互轉換等。本文將會對?Go?time?包里面的常用函數(shù)和方法進行介紹,需要的可以參考一下
    2023-01-01
  • golang的匿名函數(shù)和普通函數(shù)的區(qū)別解析

    golang的匿名函數(shù)和普通函數(shù)的區(qū)別解析

    匿名函數(shù)是不具名的函數(shù),可以在不定義函數(shù)名的情況下直接使用,通常用于函數(shù)內部的局部作用域中,這篇文章主要介紹了golang的匿名函數(shù)和普通函數(shù)的區(qū)別,需要的朋友可以參考下
    2023-03-03
  • Golang實現(xiàn)web文件共享服務的示例代碼

    Golang實現(xiàn)web文件共享服務的示例代碼

    這篇文章主要介紹了Golang實現(xiàn)web文件共享服務的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • 重學Go語言之如何使用Redis

    重學Go語言之如何使用Redis

    Redis是我們開發(fā)應用程序中很常用的NoSQL數(shù)據(jù)庫,那么在Go語言中要如何連接和操作Redis呢,在這篇文章中,我們就來一起來探究一下吧
    2023-08-08
  • Go語言運算符案例講解

    Go語言運算符案例講解

    這篇文章主要介紹了Go語言運算符案例講解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-07-07

最新評論