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

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

Golang 時間比較無法正常工作

Golang 時間比較無法正常工作

Go
郎朗坤 2022-04-26 14:25:50
我在日期比較時遇到問題。代碼:func inTimeSpan(start, end, check time.Time) bool {    return check.After(start) && check.Before(end)}func checkTime(date string) { //Note that the date passed here is from SQL Server    date1 := time.Now()    date2, err := time.Parse("2006-01-02 15:04:05", date)    if err != nil {        log.Print(err)        return    }    date3 := now.Add(1 * time.Hour)  // 1 hour later than now    log.Print("Date1 : ", date1.Format("2006-01-02 15:04:05"))    log.Print("Date2 : ", date2.Format("2006-01-02 15:04:05"))    log.Print("Date3 : ", date3.Format("2006-01-02 15:04:05"))    if inTimeSpan(date1, date3, date2) {        log.Print("Date2 is in the range between date1 and date3.")    } else {        log.Print("Date2 is not between date1 and date3.")    }    return}預期輸出:2019/12/15 19:31:02 Date1 : 2019-12-15 19:31:022019/12/15 19:31:02 Date2 : 2019-12-15 19:45:002019/12/15 19:31:02 Date3 : 2019-12-15 20:31:022019/12/15 19:31:02 Date2 is in the range between date1 and date3.實際輸出:2019/12/15 19:31:02 Date1 : 2019-12-15 19:31:022019/12/15 19:31:02 Date2 : 2019-12-15 19:45:002019/12/15 19:31:02 Date3 : 2019-12-15 20:31:022019/12/15 19:31:02 Date2 is not between date1 and date3.由于某種原因,日期比較按預期工作。有什么我想念的嗎?
查看完整描述

1 回答

?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

阿德里安給出了答案:

可能希望將時區添加到您的調試打印語句中。我的猜測是那些時間并不都在同一個 TZ 中。– 阿德里安

SQL Server 將時區默認為 UTC,其余時間為+0200. 我最終對 SQL Server 進行了一些大的更改,以設置所有日期+0200以及在正確時區輸入的所有新日期。



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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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