时间

未匹配的标注

incorrect datetime value ‘0000-0-0 00:00:00’ for column 问题

时间戳

时间戳在线转换

    now:= time.Now()
    fmt.Println(now.Unix()) // 1565084298 秒
    fmt.Println(now.UnixNano()) // 1565084298178502600 纳秒
    fmt.Println(now.UnixNano() / 1e6) // 1565084298178 毫秒

时间修改

package main

import (
    "fmt"
    "time"
)

func main() {
    nowTime := time.Now()
    getTime := nowTime.AddDate(0, 0, -1)                //年,月,日   获取一天前的时间
    resTime := getTime.Format("2006-01-02 15:04:05+08") //获取的时间的格式
    fmt.Println(resTime)

    getTime = nowTime.AddDate(0, -1, 0)             //年,月,日   获取一个月前的时间
    resTime = getTime.Format("2006-01-02 15:04:05") //获取的时间的格式
    fmt.Println(resTime)

    getTime = nowTime.AddDate(-2, 0, 0)  //年,月,日   获取两年前的时间
    resTime = getTime.Format("20060102") //获取的时间的格式
    fmt.Println(resTime)

}

时间格式化

3、获取当前时间的字符串格式

     timeStr:=time.Now().Format("2006-01-02 15:04:05")  //当前时间的字符串,2006-01-02 15:04:05据说是golang的诞生时间,固定写法

     fmt.Println(timeStr)    //打印结果:2017-04-11 13:24:04

4、它们之间的相互转化

1) 时间戳转时间字符串 (int64 —> string)

    timeUnix:=time.Now().Unix()   //已知的时间戳

    formatTimeStr:=time.Unix(timeUnix,0).Format("2006-01-02 15:04:05")

    fmt.Println(formatTimeStr)   //打印结果:2017-04-11 13:30:39

2) 时间字符串转时间(string —> Time)

  formatTimeStr=2017-04-11 13:33:37”

  formatTime,err:=time.Parse("2006-01-02 15:04:05",formatTimeStr)

 if err==nil{

     fmt.Println(formatTime) //打印结果:2017-04-11 13:33:37 +0000 UTC

  }

3) 时间字符串转时间戳 (string —> int64)

      比上面多一步,formatTime.Unix()即可

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~