go语言中日期时间戳比较功能示例代码

2023-06-01 00:00:00 语言 日期 示例

在go语言中两个日期时间戳比较使用time.Equal()函数


示例代码:

package controllers

import (
"fmt"
"time"
)

// TestController  is a test control
type TestController struct {
//beego.Controller
BaseController
}


func (c *TestController) Aaa() {

//日期时间戳比较
//对比值 当前时间
now := time.Now()
fmt.Println("当前时间: ", now)

fmt.Println("24小时制 日期: ", now.Format("2006-01-02 15:04:05"))
fmt.Println("英式日期: ", now.Format("Mon, Jan 2, 2006 at 3:04pm"))

//对比值 固定日期:2010-05-18 23:00:00 +0000 UTC
timeAgo := time.Date(2010, time.May, 18, 23, 0, 0, 0, time.UTC)
fmt.Println("timeAgo: ", timeAgo)

//将时间与 time.Equal() 进行比较
sameTime := timeAgo.Equal(now)
fmt.Println("timeAgo跟now两个时间对比 是否等值: ", sameTime)

//两值 计算今天的时间差
diff := now.Sub(timeAgo)
fmt.Println("timeAgo跟now两个时间差 :", diff)
//or 两函数一样的效果 now.Sub === time.Since
diff1 := time.Since(timeAgo)
fmt.Println("timeAgo跟now两个时间差 :", diff1)

//将 diff 转换为天数
days := int(diff.Hours() / 24)

fmt.Println("timeAgo:2010-05-18到现在有多少天?", days)

}

输出:

当前时间:  2022-07-01 11:33:42.0679763 +0800 CST m=+55.642195701
24小时制 日期:  2022-07-01 11:33:42
英式日期:  Fri, Jul 1, 2022 at 11:33am
timeAgo:  2010-05-18 23:00:00 +0000 UTC
timeAgo跟now两个时间对比 是否等值:  false
timeAgo跟now两个时间差 : 106228h33m42.0679763s
timeAgo跟now两个时间差 : 106228h33m42.0679763s
timeAgo:2010-05-18到现在有多少天? 4426

相关文章