2017-04-03 53 views
1

我有一個可執行文件,當運行需要一個輸入日期,然後選擇它需要什麼日期後綴,但它總是默認情況下。選擇大小寫轉換無法正常顯示,我該如何解決?

當我有2017年2月4日作爲格式DD/MM/YYYY以下情況的結果是4月2日,而不是第二次...

任何人都可以見識一下問題。

Dim Datewc As Date = Nothing 

    If CheckBox1.Checked Then 
     Datewc = TextBox1.Text 
    End If 

    'Determine date suffix 
    Dim datsuff As String = "" 

    Select Case CInt(Datewc.Day) 
     Case 1 Or 21 Or 31 
      datsuff = "st" 
     Case 2 Or 22 
      datsuff = "nd" 
     Case 3 Or 23 
      datsuff = "rd" 
     Case Else 
      datsuff = "th" 
    End Select 

回答

2

解析你約會

Dim dDate As DateTime = 
    DateTime.ParseExact(TextBox1.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture) 

更改您的代碼一點,應該工作。 Day函數返回整數,不需要使用CInt進行投射。

'Determine date suffix 
Dim datsuff As String = "" 

Select Case Datewc.Day 
    Case 1 , 21 , 31 
     datsuff = "st" 
    Case 2 , 22 
     datsuff = "nd" 
    Case 3 , 23 
     datsuff = "rd" 
    Case Else 
     datsuff = "th" 
End Select 

說明

Case 2 Or 22意味着Case ((2 Or 22) ==true),這將是錯誤的,因此要else部分。

相關問題