2017-07-11 24 views
3

我的代碼在下面給文件名的某些部分賦予一個變量。這裏重要的是變量「yearandmonth」,這是格式爲「YYYY-MM」如何確保日期有效?

Dim fileparts() As String 
      Dim delimiter As String = " - " 
      Dim company As String 
      Dim type As String 
      Dim bank As String 
      Dim bankaccount As String 
      Dim yearandmonth As String 
      Dim fileyear As String 
      Dim filemonth As String 

      fileparts = Split(localFileName, delimiter) 
      company = fileparts(0) 
      type = fileparts(1) 
      bank = fileparts(2) 
      bankaccount = fileparts(3) 
      yearandmonth = Left(fileparts(4), 7) ' RESULTS IN A STRING THAT WILL LOOK LIKE "yyyy-mm" 
      fileyear = Left(yearandmonth, 4) ' results in "yyyy" 
      filemonth = Right(yearandmonth, 2) ' results in "mm" 

我怎樣才能確保從「yearandmonth」輸出是一個有效的年份,月份的字符串,它包含了「 - 」?

回答

2

可以使用DateTime.TryParse方法來驗證,如果日期字符串是一個有效的日期格式如下面的代碼:

Dim dateStrings() As String = {"yyyy-mm"} 
Dim dateValue As Date 

If DateTime.TryParseExact(mystring, dateStrings, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateValue) Then 
    'Do for Valid Date 
Else 
    'Do for Invalid Date 
End If 
+0

真棒謝謝。奇蹟般有效。 –

+0

這檢查它是否在正確的格式,對不對?我想檢查年份和月份是否有效。例如:2017/13。 「13」將是MM,但只有12個月。我想檢查這個 –

+0

檢查應驗證年月通過是否有效。如果你想對自己的特定月份值進行手動檢查,我想你應該創建一個簡單的驗證方法。 如果每月<1月> 12然後 「做有效的月份 別人的做無效月 結束如果 這僅僅是如何做到這一點粗略的想法,你應該把它轉換成vb.net的語法。 – Akjun