美文网首页
Go Time 中的YYYYMMDD 坑

Go Time 中的YYYYMMDD 坑

作者: shanggl | 来源:发表于2017-07-15 20:37 被阅读0次
    目标: 演示 go 中  yyyymmdd 字符 与 的时间计算、转换
    */
    
    package main  
    import (
    "time"
    "fmt"
    "strconv"
    ) 
    
    
    func main() {
    
        //lastFetch,_:=time.Parse("20171111","20170701")
        //func Date(year int, month Month, day, hour, min, sec, nsec int, loc *Location) Time
        //正确的 yyyymmdd 转化为go Time 的方法
        yyyymmdd:="20170701"
        year,_:=strconv.Atoi(yyyymmdd[:4])
        month,_:=strconv.Atoi(yyyymmdd[4:6])
        day,_:=strconv.Atoi(yyyymmdd[6:])
        lastFetch:=time.Date(year,time.Month(month),day,0,0,0,0,time.Local)
    
    
        fmt.Println("before:",lastFetch.String())
        nextFetch:=lastFetch.AddDate(0,0,35)            
        fmt.Println("end:",nextFetch.String())
    
        fmt.Println("fmt wrong way 1 :",nextFetch.Format("YYYYMMDD"))
        fmt.Println("fmt wrong way 2:",nextFetch.Format("20060101"))
    
        //正确的获取 YYYYMMDD 的方法 
    
        y,m,d:=nextFetch.Date()
        fmt.Println("fmt rigth way to get New YYYYMMDD ",fmt.Sprintf("%d%02d%02d",y,m,d))
    }```

    相关文章

      网友评论

          本文标题: Go Time 中的YYYYMMDD 坑

          本文链接:https://www.haomeiwen.com/subject/hfyzhxtx.html