亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何準確比較兩個時間點?

如何準確比較兩個時間點?

Go
海綿寶寶撒 2022-10-24 15:39:20
我有兩個時間實例。have我從數據庫和Now()時間中獲取。一旦我想用 比較它們After,結果就不是我所期望的。實例如下:// have => 2022-01-09 09:09:59 +0000 +0000// now  => 2022-01-09 11:57:08.990265878 +0300 +0300 m=+4.977355713 if now.After(have) {    // ...}我期望true上述條件的結果,而它返回false。為了更好地解決這個問題,我將它們轉換為 Unix 時間,Unix()令人驚訝的是,它的值have略大于now,這就是條件返回的原因false。顯然now是 afterhave但它的 Unix 時間小于have. 由于我想知道此案,請您告訴我我錯在哪里?更新 問題與時區有關。我沒有注意到它。所以我添加了以下代碼:loc, _ := time.LoadLocation("Local")    have = have.In(loc)然后一旦我打印出來,它是這樣的:have => 2022-01-09 12:09:59 +0300 +0300這就是條件返回錯誤的原因。
查看完整描述

1 回答

?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

這兩個時間位于不同的時區:have在 UTC 中,now+0300now因此,在將其與其他時間進行比較之前,您必須從值的日期/時間部分中減去 3 小時。



查看完整回答
反對 回復 2022-10-24
  • 1 回答
  • 0 關注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號