表04:timespan結構的常用方法及其說明
三.datetime和timespan中常用成員的使用方法及其使用技巧:
在了解了datetime和timespan的常用方法和常用屬性后,下面將通過一個示例來掌握上述方法和屬性的用法。在下面的示例中將著重介紹下列問題的處理方法:
1. 判斷輸入的日期時間字符串的合法性。
2. datetime實例之間的運算。
3. 日期時間數據的獲取方法。
下面是用visual basic .net實現上述功能的示例的主要步驟:
1. 啟動visual studio .net。
2. 選擇菜單【文件】|【新建】|【項目】后,彈出【新建項目】對話框。
3. 將【項目類型】設置為【visual basic項目】。
4. 將【模板】設置為【windows應用程序】。
5. 在【名稱】文本框中輸入【處理日期時間數據】。
6. 在【位置】的文本框中輸入【e:/vs.net項目】,然后單擊【確定】按鈕,這樣在"e:/vs.net項目"目錄中就產生了名稱為"處理日期時間數據"的文件夾,并在里面創建了名稱為【處理日期時間數據】的項目文件。
7. 把visual studio .net的當前窗口切換到【form1.vb(設計)】窗口,并從【工具箱】中的【windows窗體組件】選項卡中往form1窗體中拖入下列組件,并執行相應操作:
一個tabcontrol組件。
三個tabpage組件。
十九個label組件。
十九個textbox組件,用以顯示時間日期數值。
三個button組件,分別是button1至button3,并在這三個button組件拖入form1的設計窗體后,分別雙擊這三個組件,這樣系統會在form1.vb文件分別產生這三個組件的click時間對應的處理代碼。
8. 按照圖01、圖02、圖03設定設定組件的主要屬性:
圖01:【處理日期時間數據】設計界面之一
圖02:【處理日期時間數據】設計界面之二
圖03:【處理日期時間數據】設計界面之三
在完成上面的工作以后,下面就進入程序的功能實現階段。
9. 判斷輸入的日期時間字符串的合法性。為了實現這個功能,首先要掌握把輸入的日期時間字符串轉換成可供visual basic .net使用的日期時間類型的數據的方法。這個方法就是使用datetime中的parse方法,parse方法能夠把一個符合日期時間的字符串轉換成一個datetime實例。下面是一個具體的轉換代碼:
dim dttemp as system.datetime = system.datetime.parse ( "12/2/2002 13:20:25")
但如果給定要轉換的字符串不合法,程序在執行的時候就會出現異常。程序通過對異常的捕獲,來判斷給定要轉換的字符串合法性。在visual basic .net中捕獲異常一般使用的是try …catch ….end try語句。這里要注意的是try …catch ….end try語句是一個非常重要的語句,在后面章節中的很多關鍵代碼部分都會經常的使用到它,通過它的確能夠解決很多麻煩的問題。
下面是在本程序中實現這個功能的具體操作步驟:
首先把visual studio .net的當前窗口切換到【form1.vb】,進入form1.vb文件的編輯界面。然后用下列的代碼替換form1.vb中button3組件的click事件對應的處理代碼。
private sub button3_click ( byval sender as system.object , byval e as system.eventargs ) handles button3.click
dim dtmydate as system.datetime
try
dtmydate = datetime.parse ( textbox19.text )
'轉換給定的日期時間字符串
catch
messagebox.show ( "輸入的時間日期字符串不合法!", "錯誤!" )
'提示出錯
textbox19.text = ""
return
end try
'以上是判斷輸入日期時間字符串合法性的典型代碼
end sub
10. 獲取計算機日期時間數據。程序要實現這個功能非常簡單,只需要掌握表01和表02中列出的datetime常用屬性、方法的使用方法就能夠方便完成了。具體到本程序具體的操作是用下列代碼替換form1.vb中button2的click事件對應的處理代碼:
private sub button1_click ( byval sender as system.object , byval e as system.eventargs ) handles button1.click
dim dmydate as datetime = datetime.now
'創建實例,此實例存放當前日期和時間
textbox1.text = dmydate.tostring ( )
'顯示當前日期和時間
textbox2.text = dmydate.date
'顯示當前日期
textbox3.text = dmydate.year
'顯示年度
textbox4.text = dmydate.month
'顯示月份
textbox5.text = dmydate.day
'顯示日號
textbox6.text = dmydate.dayofyear
'顯示當前天是一年中的第多少天
textbox7.text = dmydate.dayofweek
'顯示當前天是本星期中的第多少天
textbox8.text = dmydate.tolongdatestring
'以長日期形式來顯示日期
textbox9.text = dmydate.toshortdatestring
'以短日期形式來顯示日期
textbox18.text = dmydate.timeofday.tostring ( )
'顯示當前時間
textbox17.text = dmydate.hour
'顯示當前時間的小時
textbox16.text = dmydate.minute
'顯示當前時間的分鐘
textbox15.text = dmydate.second
'顯示當前時間的秒
textbox14.text = dmydate.millisecond
'顯示當前時間的毫秒
textbox13.text = dmydate.tolongtimestring
'以長時間形式來顯示當前時間
textbox12.text = dmydate.toshorttimestring
'以短時間形式來顯示當前時間
end sub
11. 日期時間數據的運算。在下面介紹的代碼是實現二個datetime實例之差,即當前的時間和給定的時間之差。解決的步驟是首先判斷給定的日期時間字符串的合法性,如果不合法,則返回。如果合法,則以此來創建datetime實例dtmydate。然后dtmydate調用其subtract方法減去當前的時間,并存放到timespan實例tstemp。tstemp調用其duration方法把二者之差的絕對值顯示出來。具體到程序中的實現方法是用下列代碼替換form1.vb中的button2的click事件的處理代碼:
private sub button2_click ( byval sender as system.object , byval e as system.eventargs ) handles button2.click
dim tstemp as timespan
dim dtmydate as datetime
try
dtmydate = datetime.parse ( textbox10.text )
catch
messagebox.show ( "輸入的時間日期字符串不合法!" , "錯誤!" )
return
end try
'判斷輸入的時間日期字符串的合法性
tstemp = dtmydate.subtract ( datetime.now )
'二個datetime實例相減
textbox11.text = tstemp.duration.tostring ( )
'取二個datetime之差絕對值,并顯示出來
end sub
至此在上述步驟都正確執行,并成功保存后,【處理日期時間數據】項目的全部工作就完成了。圖04、圖05和圖06分別是【處理日期時間數據】項目編譯后的運行界面:
圖04:【處理日期時間數據】運行界面之一
圖05:【處理日期時間數據】運行界面之二
圖06:【處理日期時間數據】運行界面之三
四.小結:
本文介紹在visual basic .net中日期時間類型數據的處理方法及在處理這些數據時的一些注意事項和技巧。以下就是本文中的知識點:
1. 結構和類的區別。
2. 用date變量定義日期時間,及其注意事項。
3. datetime和timespan的主要區別,和二者主要的成員及其簡單說明。
4. 判斷給定時間日期的合法性。
5. 日期時間類型數據(datetime實例)的運算。
6. 日期時間及其相關數值的獲取。
如果您通過本文的介紹掌握了以上內容,那么本文的目的就算完成了,就讓我們下一節再見吧!
新聞熱點
疑難解答
圖片精選