####### 問題描述: 項目中有一個請假的功能,其業務邏輯很簡單:
- 很貼切接近現實世界,根據請假類型(事假,病假,法定,調休...等)的不同,可以請到的假天數也不一樣
- 通過選擇請假開始時間和結束時間劃一個時間段,然后這個時間段就是假期的黃金時間,多一秒少一秒意味著會影響檔期的安排
開始錯誤的做法?:
比如: 我想請一個三天的假,開始時間: 6月1號, 結束時間: 6月3號.
按照現實生活來看,這完全沒毛病嘛, 請假以天為單位,
后臺接收參數是一個時間戳, 于是時間控件選擇出來
的時間戳都是每天早上 0點0分0秒的時間,
這樣一算三天假就變成2天了,假期嚴重縮水....
正確的姿勢?
經過產品經理和后臺的磋商,意淫出了一個比較奇葩的方案,開始時間
加1s , 結束時間減1s,這樣子,說這樣才不會踩到邊界,從而影響破壞檔
期的平衡.... 可問題還是差一點就是三天變兩天的那個坑還沒能跳出來
|---|---|---| 比如這個線段,分成3份卻有4個頂點一樣,就跟請3天的假
有4個時間節點一樣...
/// MARK: - 根據產品他們的想法進行了延伸,把需求做到位
#結束時間 + 86400 -1 ==> 相當于當天最后一秒就跨越到第二天去了
#開始時間還是原樣+1 ==> 每天從01s開始 到 23:59:59.... 瞬間感覺
一天中被活生生掐掉了2s的,因為不影響大局(一天為單位的),不如不
踩邊界,各退一步.如此就完美了