golang中的2006-01-02和ParseInLocation

      看程序:

package main

import (
    "fmt"
    "time"
)


func main(){

    timeFormatDay := "2006-01-02"
    nowTime := time.Now()
    endTime := nowTime
    yesterdayTime := nowTime.AddDate(0, 0, -1)
    beginTime, _ := time.ParseInLocation(timeFormatDay, yesterdayTime.Format(timeFormatDay), time.Local)
    fmt.Printf("%v\n%v\n", beginTime, endTime)
    fmt.Println(time.Since(yesterdayTime))

    timeFormat := "2006-01-02 15:04:05"
    begin, _ := time.ParseInLocation(timeFormat, "2020-06-09 01:00:00", time.Local)
    end, _ := time.ParseInLocation(timeFormat, "2020-06-10 01:00:00", time.Local)
    fmt.Printf("%v\n%v\n", begin, end)

}

      注意:

      1.上述time format中的值是固定的,只能那样,调成2007或者其它的,就会出错。

      2. 要用ParseInLocation, 而不要直接用Parse,  因为后者会丢失当地时区的概念。

 

      踩过两个坑,所以记录一下。      

 

涛歌依旧 CSDN认证博客专家 涛哥挺nice的
不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。更多干货和精彩内容,欢迎扫码关注公众号
©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页