go时间和日期转换

package main

import (
    "fmt"
    "time"
)

func main() {
    //获取当前时间戳
    timestamp := time.Now().Unix()
    fmt.Println("现在的时间戳是:", timestamp)
    //打印  现在的时间戳是: 1611932225

    // go语言固定日期模版解读
    //             year  month  day   hour         minute   second
    //              06    01    02   03(15-12)       04        05
    timeLayout := "2006-01-02 15:04:05" // go语言固定日期模版
    timeStr := time.Unix(timestamp, 0).Format(timeLayout)
    fmt.Println("时间戳转日期格式一:", timeStr)
    //打印 时间戳转日期格式一: 2021-01-29 22:57:05

    timeLayout2 := "2006/01/02 15:04:05" // go语言固定日期模版
    timeStr2 := time.Unix(timestamp, 0).Format(timeLayout2)
    fmt.Println("时间戳转日期格式二:", timeStr2)
    //打印 时间戳转日期格式二: 2021/01/29 22:57:05

    //日期转时间戳 (将2019-11-27 19:07:41转为时间戳)
    newTimeStamp := time.Date(2021, 01, 29, 19, 36, 41, 0, time.Local).Unix()
    fmt.Println("将2019-11-27 19:07:41 转为时间戳:", newTimeStamp)
    // 打印 将2019-11-27 19:07:41 转为时间戳: 1611920201

    //1小时后的时间戳
    time2 := time.Now().Add(time.Hour)
    timestamp2 := time2.Unix()
    fmt.Println("1小时后的时间戳:", timestamp2)
    //打印 1小时后的时间戳: 1611935825
    
    //1小时前的时间戳
    m, _ := time.ParseDuration("-1h")
    result := time.Now().Add(m).Unix()
    fmt.Println("1小时前的时间戳:", result)
    //打印 1小时前的时间戳: 1611928625
    
    //获取今天0点0时0分的时间戳
    currentTime := time.Now()
    earlyMorningTime := time.Date(currentTime.Year(), currentTime.Month(), currentTime.Day(), 0, 0, 0, 0, currentTime.Location()).Unix()
    fmt.Println("当天凌晨0时0分0秒的时间戳:", earlyMorningTime)
    //打印 当天凌晨0时0分0秒的时间戳: 1611849600

}
原文地址:https://www.cnblogs.com/dawuge/p/14347514.html