//显示当前的时间,格式”2006-01-02 15:04:05”

time.Now().Format("2006-01-02 15:04:05")

//坑爹的golang日期时间格式format() ,用到了format()函数格式化字符串,用了语句time.now().format(“2015-11-12 12:00:00”),结果输出结果就是不能达到理想的结果,然后把golang文档中的”2006-01-02 15:04:05“放进去就可以了,搞了好久没搞明白怎么回事,随意百度了一下,原来golang规定必须要用这个时间点,此刻我的心情,你们意会去……

//当前的时间戳
time.Now().Unix()

//把时间戳转换为"2006-01-02 15:04:05"
time.Unix(1470017531, 0).Format("2006-01-02 15:04:05")

//五天前的时间
time.Unix(time.Now().Unix()-3600*24*5, 0).Format("2006-01-02 15:04:05")

//"2016-11-11 15:08:05"转换为时间戳
tm,_:=time.ParseInLocation("2006-01-02 15:04:05", "2016-11-11 15:08:05", time.Local) //前一个参数是时间格式,后一个参数是需要转换的时间
fmt.Println(tm.Unix())

//获取下个月的时间
    t := time.Now()
    startTime := time.Date(t.Year(), t.Month()+1, t.Day(), 0, 0, 0, 0, t.Location()).Format("2006-01-02 15:04:05")
//output:2017-05-07 00:00:00

//从数字20171102转为时间字符串2017-11-02 00:00:00
date:=20171102
t, _ = time.Parse("20060102", strconv.Itoa(date))
startDate := t.Format("2006-01-02") + " 00:00:00"
//output: 2017-11-02 00:00:00

//从“2017-11-02 00:00:00”转化为“20171102”
t, _ := time.Parse("2006-01-02 15:04:05", "2017-11-02 00:00:00")
startDateInt := t.Format("20060102")

GoLang 获取两个时间相差多少小时
如果调用 time .parse() 这个玩意相差 8小时。默认时区是utc

package main  

import (  
    "fmt"  
    "time"  
)  

func main() {  
    fmt.Println(getHourDiffer("2016-09-10 13:00:00", "2016-09-10 14:50:00"))  
}  

//获取相差时间  
func getHourDiffer(start_time, end_time string) int64 {  
    var hour int64  
    t1, err := time.ParseInLocation("2006-01-02 15:04:05", start_time, time.Local)  
    t2, err := time.ParseInLocation("2006-01-02 15:04:05", end_time, time.Local)  
    if err == nil && t1.Before(t2) {  
        diff := t2.Unix() - t1.Unix() //  
        hour = diff / 3600  
        return hour  
    } else {  
        return hour  
    }  
}
文档更新时间: 2021-04-22 10:34   作者:月影鹏鹏