通常,我希望用戶選擇開始日期和結束日期。但僅僅選擇日期是不夠的,我們也必須改變數據。處理兩個DateTimePicker太容易出錯?
默認情況下,DateTimePicker.Value
就像
Value 1: 2012-01-01 10:12:09
Value 2: 2012-01-02 10:12:09
當用戶選擇兩個日期,應該是顯而易見的,他的意思
Value 1: 2012-01-01 00:00:00
Value 2: 2012-01-02 23:59:59
我常常忘記做非直觀
DateTime start = dateTimePicker1.Value.Date;
DateTime finish = dateTimePicker2.Value.Date.AddDays(1).AddSeconds(-1);
你發現了什麼更有效的方法來處理這個問題?
我認爲你的方式非常有效。在代碼中寫一個簡短的評論應該沒問題。 –
我不一定同意的唯一的事情是「應該是顯而易見的」部分,並從完成日期減去一秒鐘。數據大於或等於開始的數據有什麼問題,並且少於結束?那麼你就不會失去那一秒鐘發生事情的情況。如果這不是你的用例,那麼很好 - 這只是我發現偶爾會導致一個難以發現的錯誤。 –
@WonkotheSane我同意你的意見。兩種方式都是相同的,但保持一致是關鍵。這就是爲什麼我認爲DateTimePickers應該有一個可設置的屬性,說明你需要日期的開始或結束。這將創建一個標準,因此,提高一致性 – Mathieu