脚本专栏 
首页 > 脚本专栏 > 浏览文章

goland Duration 和time的区别说明

(编辑:jimmy 日期: 2024/11/13 浏览:3 次 )

time 组成:

time.Duration(时间长度,消耗时间)

time.Time(时间点)

time.C(放时间的channel通道)(注:Time.C:=make(chan time.Time))

补充:golang 日期对比方法

我就废话不多说了,大家还是直接看代码吧~

package main 
import (
	"fmt"
	"time"
)
 
type Unix struct {
	Val int64
}
 
func main() {
	var u1 = &Unix{}
	var u2 = &Unix{}
	u1.Val = 1562586024 // 2019-07-08 19:40:24
	u2.Val = time.Now().Unix()
	
	fmt.Println(u1.IsTody())
	
	fmt.Println(u1.IsSameDay(u2))
	
	if !u1.IsSameDay(u2) {
		fmt.Println("不相同")
	}else{
		fmt.Println("相同")
	}	
	if !u1.IsTody() {
		fmt.Println("不相同")
	}else{
		fmt.Println("相同")
	}
}
 
func (u *Unix) IsTody() bool {
	tm := time.Unix(u.Val, 0)
	tmToday := time.Now()
 
	if tmToday.Day() == tm.Day() {
		return true
	}
	return false
}
 
/**
 * 二个时间戳是否同一天
 * @return true 是 false 不是今天
 */
func (u *Unix) IsSameDay(another *Unix) bool {
	tm := time.Unix(u.Val, 0)
	tmAnother := time.Unix(another.Val, 0)
 
	if tmAnother.Day() == tm.Day() {
		return true
	}
	return false
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

上一篇:golang频率限制 rate详解
下一篇:Golang中的time.Duration类型用法说明