簡單瞭解golang time模塊

在不少種語言中都有和時間相關的模塊,在python和golang中內置的模塊名稱都是叫time模塊,只不過用法略有區別,如在python下打印當前時間是time.time,在golang下則使用的time.now(二者的輸出也略有區別的,前者輸的是unix time,後者輸出的是經常使用識別的日期時間)。golang裏不過還有一點比較特殊的就是其是以2006-01-02 15:04:05時間點做爲基準的(簡稱612345或12345 2006),這點就相似於unix時間戳是以1970年1月1日爲開始經歷過的秒數同樣。本篇就簡單的總結下經常使用的time模塊的用法。html

1、time的經常使用示例python

打印當前時間戳linux

fmt.Println(time.Now().Unix())
# 1389058332

str格式化時間golang

fmt.Println(time.Now().Format("2006-01-02 15:04:05")) # 這是個奇葩,必須是這個時間點, 聽說是go誕生之日, 記憶方法:6-1-2-3-4-5
# 2018-08-25 09:42:20

時間戳轉str格式化時間windows

str_time := time.Unix(1389058332, 0).Format("2006-01-02 15:04:05")
fmt.Println(str_time)

str格式化時間轉時間戳

WAR包spa

the_time := time.Date(2014, 1, 7, 5, 50, 4, 0, time.Local)
unix_time := the_time.Unix()
fmt.Println(unix_time)
# 1389045004

time.Parse格式化時間unix

the_time, err := time.Parse("2006-01-02 15:04:05", "2014-01-08 09:04:41")
if err == nil {
unix_time := the_time.Unix()
fmt.Println(unix_time)
}
# 1389171881

2、time.Parse和time.Format的區別orm

在windows下,time.Parse()的時區和time.Format()的時區是一致的。可是在linux環境下,time.Parse()的默認時區是UTC(與咱們使用的標準時間CST相差8個小時),time.Format()的時區默認是本地,二者若是不處理好就會致使錯誤。具體能夠作以下一個操做,找一臺linux主機,將其/etc/localtime由Shanghai更換爲UTC,而後分別執行以下代碼,看下輸出的區別:htm

package main
import "time"
import "fmt"
func main(){
t, err := time.Parse("2006-01-02 15:04:05", "2017-12-03 22:01:02")
//localTime, err := time.ParseInLocation("2006-01-02 15:04:05", "2017-12-03 22:01:02", time.Local)
if err != nil{
fmt.Println(err)
return
}
fmt.Println(t)
fmt.Println(time.Now())
fmt.Println(time.Now().Sub(t).Seconds())
}

分別使用time.Parse和time.ParseInLocation分別算下兩個時間之間的差值,看下哪個求出的值是正確的?get

3、再一個示例

最後再給出一個輸出當前時間年、月、日、時等不一樣信息的示例代碼,以下:

package main
import(
"fmt"
"time"
)
func main(){
t := time.Now()
y,m,d := t.Date()
today := time.Now().Format("2006-01-02")
datetime := time.Now().Format("2006-01-02 15:04:05")//後面的參數是固定的 不然將沒法正常輸出
fmt.Println("time is : ",t )
fmt.Println("y m d is : ",y,m,d )
fmt.Println("now is :",today)
fmt.Println("now is :",datetime)
}

原文來自: https://www.linuxprobe.com/golang-time-mode.html

相關文章
相關標籤/搜索