2017-04-03 7 views
1

나는 실행할 때 입력 된 날짜를 취한 다음 그 날짜에 접미사가 필요한 날짜를 선택하는 실행 파일을 가지고 있지만 항상 다른 경우를 기본값으로 사용합니다. 내가 포맷 DD/MM은/YYYY로 2017년 2월 4일이있을 때 아래 사건의 결과가 아닌 제 2의 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 22Case ((2 Or 22) ==true) 의미, 따라서 다른 부분에가는 거짓 일 것이다.