首页 > 技术文章 > golang 设置本地时间

chaselogs 2018-08-21 18:11 原文

 1 package main
 2 
 3 import (
 4     "fmt"
 5     "time"
 6 )
 7 
 8 func main() {
 9 
10     layout := "2006-01-02 15:04:05"
11 
12     local, _ := time.LoadLocation("Local")
13     t1, _ := time.ParseInLocation(layout, "2018-08-16 19:36:40", local)
14 
15     fmt.Println("no.unix=", time.Now().UTC().Unix(), "\nt1.utc =", t1.UTC().Unix(), "\nt1.unix=", t1.Unix())
16 
17     for {
18         if true == TriggerCheckSsp() {
19             fmt.Println("----!!!!!---")
20             break
21         }
22     }
23 
24 }
25 
26 func TriggerCheckSsp() bool {
27     fmt.Println("----")
28     layout := "2006-01-02 15:04:05"
29 
30     local, _ := time.LoadLocation("Local")
31     t, _ := time.ParseInLocation(layout, "2018-08-17 7:49:50", local)
32 
33     fmt.Println("---", time.Now().UTC().Unix(), "--", t.UTC().Unix(), "---", time.Now().Unix())
34     if time.Now().UTC().Unix() >= t.UTC().Unix() {
35         return true
36     }
37     return false
38 }

使用 time.LoadLocation 和 time.ParseInLocation 可以得到本地时间而不是UTC时间

time.Now().UTC().Unix() 和 time.Now().Unix() 得到的时间是一样的,说明unix时间戳不区分是否是UTC,得到的结果是一样的。

推荐阅读