2022 鐵人賽文 搬回點部落
開始試煉
搜尋條件中,設定搜尋時間是一定會遇到的
先來看看下面這些設定
情境A 開始:1/1 結束:1/1 這樣表示1/1一整天
情境B 開始:1/2 結束:1/3 這樣表示1/2 + 1/3 兩天整天
這樣的理解 大家都同意吧
可是那是UI上看到的 轉換成 程式面 不特別處理的話 大概就變成這樣
情境A 開始: 2022/01/01 00:00:00 結束: 2022/01/01 00:00:00
情境B 開始: 2022/01/02 00:00:00 結束: 2022/01/03 00:00:00
這樣情境A 就等於沒有時間
而情境B 是只有1/2一天 對吧
所以我們要教育使用者 你要查1/1號的資料 請放1/1-1/2 這樣才是查1/1一天的資料喔
然後 就被主管釘在牆壁上了
回到座位上 那要不然這樣改好了
要支援結束時間還不簡單 就把結束時間加上23:59:59 這樣就好啦
示意程式createDate >= 2022/01/01 00:00:00 && createDate <= 2022/01/01 23:59:59
是不是就搞定了呢
這樣加上23:59:59 會有一個問題
就是23:59:59 到 隔天的00:00:00的這一秒的資料查不出來
所以應該結束時間應該是加一天然後用小於就好
示意程式createDate >= 2022/01/01 00:00:00 && createDate < 2022/01/02 00:00:00
這樣才是1/1一整天的資料
結束試煉
這個試煉 我的經驗中 接手的專案 三不五時就會看到少一秒的寫法
所以才想特別寫出來
如果內容有誤請多鞭策謝謝