package types import ( "time" ) // 格式化 const ( FormatDatetime = "2006-01-02 15:04:05" ) // Local 本地時區 var Local = time.Local // SetLocation 設定時區 func SetLocation(name string) { Local, _ = time.LoadLocation(name) } // Timestamp 時間戳 type Timestamp int64 // GetUnixNow 取得現在時間戳記 func GetUnixNow() Timestamp { return Timestamp(time.Now().Unix()) } // Int64 轉為64位元整數 func (t Timestamp) Int64() int64 { return int64(t) } // Time 轉為time類型 func (t Timestamp) Time() time.Time { return time.Unix(t.Int64(), 0) } // Datetime 回傳時間字串 func (t Timestamp) Datetime() string { return time. Unix(t.Int64(), 0). In(Local). Format(FormatDatetime) } // NowSub 與現在的時間差 func (t Timestamp) NowSub() time.Duration { return time.Since(t.Time()) } // Sub 時間差 func (t Timestamp) Sub(t2 time.Time) time.Duration { return t2.Sub(t.Time()) }