goland Duration 和time的區別說明

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
}

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: