close

資料儲存時最常用日期時間欄位來判定資料的先後順序,任何程式開發語法都可以直接取得當下的日期時間,但12小時制與24小時制的時間表示樣式,在存入資料表的後續處理就不一定能掌握了...
例如下列二個C#的指令取得電腦當下的時間:

一個是輸出12小時制的日期時間,另一個是輸出24小時制的日期時間,
我當下操作的電腦是繁體中文環境,所以12小時制會看到"上午"或是"下午"的字樣,
然而將資料存入資料表中的時候,資料庫系統是否也是繁體中文的介面呢?
未來操作系統的使用者環境是否也是繁體中文的介面呢?

雖然自己還無法證明不同語言環境之間是否會有相容性的問題,
但經過將資料存入資料表測試之後,我決定用24小時制的時間格式一勞永逸!

以下圖為例,我們將二筆12小時制的時間存入資料表後用指定排序方式查詢,

我的需求是要找出最新(最後)紀錄的資料,所以用"執行時間"來排序查詢,
以上述SQL的查詢指令而言,只要取得第一筆資料即是所要的結果了,
但是如上圖結果竟然是錯的!
後來想利用Convert指令轉換成日期格式再來排序,竟然直接回應輸入格式錯誤!

緊接著將日期時間用24小時制的樣式存入資料表再進行相同的查詢:

結果就完全正確了!\(^o^)/

以後皆用24小時制的"日期時間"來處理,
免得還要花時間查詢意料之外的查詢結果...

以下我在表單中設計了一個只能用"選擇"的日期時間欄位:

在表單中左側的小日曆圖示就是準備要顯示在右邊____/__/__的功能,
關於Calendar控制項請參考:
http://jerry5217.pixnet.net/blog/post/226747753

時間的部分有一個0~23的下拉選單以及0~59的下拉選單,
若按下右邊綠色向下箭頭
ê圖示,就是執行這段程式碼的內容,
先將當下的時間設定為24小時制的樣式,再分別設定下拉選單的選取項目,
說穿了我就是要組合一個24小時制的時間樣式來用...

 

所有程式開發筆記:程式開發隨手記

 

arrow
arrow

    王振權 發表在 痞客邦 留言(0) 人氣()