Select 大小写转换显示不正确,我该如何解决?

Select Case conversion not displaying properly, how can i fix?

我有一个可执行文件,当 运行 接受输入的日期,然后选择它需要的日期后缀,但它始终默认为其他情况。

当我将 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 函数 returns 整数,无需使用 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),它将是错误的,因此转到其他部分。