2020年5月8日 星期五

vb.net 判斷輸入日期時間字符串合法性 [DateTime Parse]


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
        Private Sub btnJudge_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnJudge.Click 

            Dim dtMyDate As System.DateTime 

     

            Try 

                dtMyDate = DateTime.Parse(txtDateTime.Text) '轉換給定的日期時間字符串 

     

            Catch 

     

                MessageBox.Show("你輸入的時間日期字符串不合法!", "錯誤!")  '提示錯誤 

                txtDateTime.Text = "" 

                Return 

     

            End Try 

        End Sub 



  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
        Private Sub btnDateTimeNow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDateTimeNow.Click 

            '創建實例,此實例存放當前日期和時間 

            Dim dMyDate As DateTime = DateTime.Now 

     

            '顯示當前日期和時間 

            txtDateTimeNow.Text = dMyDate.ToString() 

     

            '顯示當前日期 

            txtDateNow.Text = dMyDate.Date 

     

            '顯示當前年度 

            txtYear.Text = dMyDate.Year 

     

            '顯示當前月份 

            txtMonth.Text = dMyDate.Month 

     

            '顯示日號 

            txtDay.Text = dMyDate.Day 

     

            '顯示當前天是一年中的第多少天 

            txtDayofyear.Text = dMyDate.DayOfYear 

     

            '顯示當前天是本星期中的第多少天 

            txtWeek.Text = dMyDate.DayOfWeek 

     

            '以長日期形式來顯示日期 

            txtDateLong.Text = dMyDate.ToLongDateString 

     

            '以短日期形式來顯示日期 

            txtDateShort.Text = dMyDate.ToShortDateString 

     

            '顯示當前時間 

            txtTimeNow.Text = dMyDate.TimeOfDay.ToString() 

     

            '顯示當前時間的小時 

            txtHour.Text = dMyDate.Hour 

     

            '顯示當前時間的分鐘 

            txtMinute.Text = dMyDate.Minute 

     

            '顯示當前時間的秒 

            txtSecond.Text = dMyDate.Second 

     

            '顯示當前時間的毫秒 

            txtMillisecond.Text = dMyDate.Millisecond 

     

            '以長時間形式來顯示當前時間 

            txtTimeLong.Text = dMyDate.ToLongTimeString 

     

            '以短時間形式來顯示當前時間 

            txtTimeShort.Text = dMyDate.ToShortTimeString 

        End Sub


在下面介紹的代碼是實現二個DateTime實例之差,即當前的時間和給定的時間之差。解決的步驟是首先判斷給定的日期時間字符串的合法性,如果不合法,則返回。如果合法,則以此來創建DateTime實例dtMyDate。然後dtMyDate調用其Subtract方法減去當前的時間,並存放到TimeSpan實例tsTemp。tsTemp調用其 Duration方法把二者之差的絕對值顯示出來。具體到程序中的實現方法是用下列代碼替換Form1.vb中的btnOK的Click事件的處理代碼:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 

        Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click 

            Dim tsTemp As TimeSpan 

            Dim dtMydate As DateTime 

            '判斷輸入的時間日期字符串的合法性 

            Try 

                dtMydate = DateTime.Parse(txtDateTimeEnter.Text) 

            Catch 

                MessageBox.Show("輸入的時間日期字符串不合法", "錯誤!") 

                Return 

     

            End Try 

     

            '兩個DateTime實例相減 

            tsTemp = dtMydate.Subtract(DateTime.Now) 

     

            '取兩個各DateTime之差絕對值,並顯示出來 

            txtTimeDifference.Text = tsTemp.Duration.ToString() 

        End Sub

沒有留言:

張貼留言