在計算從下午到上午的時間差或反之亦然時,我遇到了一點問題。例如:
ref, _ := time.Parse("03:04pm"/span>, "11:59pm"/span>)
t, _ := time.Parse("03:04am"/span>, "12:00am"/span>)
fmt.Println(t.Sub(ref).Minutes()) //得到-719,我的期望值是1(分鐘)。
事實上,這是真的,但我想得到最小的差異。
uj5u.com熱心網友回復:
你得到-719的原因是你沒有提供日期資訊,而且在第二次.Parse中你的模板有錯。模板必須包含pm
time.Parse("03:04pm"/span>, "11:59pm"/span>) // 0000-01-01 23:59:00 0000 UTC。
time.Parse("03:04am"/span>, "12:00am"/span>) // 0000-01-01 12:00:00 0000 UTC。
你需要在模板中提供日期資訊和下午時間
time.Parse("02 03:04pm"/span>, "01 11:59pm"/span>) // 0000-01-01 23:59:00 0000 UTC。
time.Parse("02 03:04pm"/span>, "02 12:00am"/span>) // 0000-01-02 00:00:00 0000 UTC。
see https://stackoverflow.com/a/20234207/12301864
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/332980.html
標籤:
下一篇:鑄造模板類實體后的虛擬函式問題
