我有一个可执行文件,当运行时,它会接受输入的日期,然后选择需要的日期后缀,但是它总是默认为其他情况。
当我将 02/04/2017 作为格式 DD/MM/YYYY 时,以下情况的结果是 4 月 2 日而不是 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
解析你的日期
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)
,因此会是假的,因此去别的。