IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    golang字符串转时间戳指定本地时区

    mckee发表于 2015-12-15 00:07:24
    love 0

    golang中使用parse将字符串格式化。但parse返回的是UTC的时间。当我将其转换成时间戳的时候快了8h,这不是我想要的结果。
    这需要使用func ParseInLocation(layout, value string, loc *Location) (Time, error)函数格式化成本地时区时间。

    package main
    
    import (
    	"fmt"
    	"time"
    )
    
    func main() {
    
    	dateStr := "2015-12-14 00:00:00"
    	timestamp1, _ := time.Parse("2006-01-02 00:00:00", dateStr)
    	timestamp2, _ := time.ParseInLocation("2006-01-02 00:00:00", dateStr, time.Local)
    
    	fmt.Println(time.Local)
    
    	fmt.Println(timestamp1, timestamp2) //2015-12-14 00:00:00 +0000 UTC         2015-12-14 00:00:00 +0800 CST
    
    	fmt.Println(timestamp1.Unix(), timestamp2.Unix()) //1450051200          1450022400
    
    	fmt.Println("hello wordl")
    }



沪ICP备19023445号-2号
友情链接