time 包的简单使用 
                                                    
                        
                    
                    
  
                    
                    时区
- 中国大陆一共分了5个时区,以哈尔滨 ( Asia/Harbin)、上海(Asia/Shanghai)、重庆(Asia/Chongqing)、乌鲁木齐(Asia/Urumqi)、喀什(Asia/Kashgar)
 - 长白时区GMT+8:30、中原标准时区 GMT+8、陇蜀时区GMT+7、新藏时区GMT+6和昆仑时区GMT+5:30。它是1912年北京观象台制订,后由内政部批准过。
 - 香港时区(Asia/Hong_Kong或者Hongkong),台北(Asia/Taipei)
 
时间格式化
- 使用 
Format函数进行格式化 - 最常使用格式化模板
2006-01-02 15:04:05 - 使用范例:
 
package main
import (
    "fmt"
    "time"
)
const TimeLayout = "2006-01-02 15:04:05"
func main() {
    fmt.Println(time.Now().Format(TimeLayout))
}
字符串转时间
- 通过 
Parse转换,默认是UTC时间 
package main
import (
    "fmt"
    "time"
)
const TimeLayout = "2006-01-02 15:04:05"
func main() {
    timeString := "2008-08-08 20:08:08"
    fmt.Println(time.Parse(TimeLayout, timeString))
}
通过
ParseInLocation转换,需要传时区示例
package main import ( "fmt" "time" ) const TimeLayout = "2006-01-02 15:04:05" func main() { timeString := "2008-08-08 20:08:08" fmt.Println(time.ParseInLocation(TimeLayout, timeString, time.Local)) }time.Local返回本机时区通过时区名返回时区
loc, err := time.LoadLocation("Asia/Shanghai")
Unix 时间戳转时间
package main
import (
    "fmt"
    "time"
)
func main() {
    unixSeconds := int64(1688110691)
    fmt.Println(time.Unix(unixSeconds, 0))
}
时间运算
- 计算时间差
 
func Until(t Time) Duration
func Since(t Time) Duration 两个时间点的间隔
func (t Time) Sub(u Time) Duration  
- 计算时间点
 
func (t Time) Add(d Duration) Time
func (t Time) AddDate(years int, months int, days int) Time
- 时间比较
 
func (t Time) Before(u Time) bool
func (t Time) After(u Time) bool
func (t Time) Equal(u Time) bool 
延时,定时任务
time.Sleep(time.Duration(10) * time.Second)
func After(d Duration) <-chan Time
func AfterFunc(d Duration, f func()) *Timer
package main
import (
    "fmt"
    "time"
)
func main() {
    count := 0
    ticker := time.NewTicker(1 * time.Second)
    for t := range ticker.C {
        fmt.Println(t)
        count++
        fmt.Println(count)
        if count == 10 {
            ticker.Stop()
            break
        }
    }
}
                        
                        本作品采用《CC 协议》,转载必须注明作者和本文链接
          
          
          
                关于 LearnKu
              
                    
                    
                    
 
推荐文章: