날짜

2012-10-24 3 views
1

내가 올바른 형식으로 (데이터베이스 항목에서) 날짜를 변환하는 다음과 같은 코드가 있습니다날짜

:

Dim blah As Date = "02/29/2001" 
MsgBox(Format(blah, "yyyy-MM-dd")) 

그러나, 그것은 계속 나에게이 이야기를

"02/29/2001"문자열에서 'Date'유형으로의 변환이 유효하지 않습니다.

이제 2/29/2001에는 해당 연도의 29- 단 28 일이 없습니다. 그래서 어떻게 데이터베이스 테이블의 날짜가 올바르게 입력되지 않은 경우 오류가 throw되지 않습니다 그래서 내가 확인합니까?

답변

2

당신은 당신의 문자열 또는 날짜가 날짜로 변환 될 수 있으면이 함수는 true를 반환 IsDate()

사용할 수 있습니다. 이

Dim dateAndTime As String 
dateAndTime = "March 15, 1981 10:22 AM" 
noDate = "Hello" 
dateCheck = IsDate(dateAndTime) 
dateCheck = IsDate(noDate) 

같은

이것은 또한 두 번째

에 대한 첫 번째에 대한 true 및 false를 반환합니다,이 기능은 귀하의 경우

에서처럼 29, 30 삼십일일의 달와 함께 작동

here's은 MSDN

+1

그 트릭을 했어! 고마워, 마크! – StealthRT

2

당신은 대신 TryParseExact을 사용할 수있는 링크, 그래서 뭔가 같은 :

Dim enUS As New CultureInfo("en-US") 
Dim dateString As String 
Dim blah As Date 

' Parse date with no style flags. 
dateString = "02/29/2001" 
If Date.TryParseExact(dateString, "MM/dd/yyyy", enUS, DateTimeStyles.None, dateValue) Then 
    MsgBox(Format(blah, "yyyy-MM-dd")) 

Else 
    MsgBox(String.Format("'{0}' is not in an acceptable format.", dateString)) 
End If 
+0

답장을 보내주었습니다. 고마워, 로우 랜드 – StealthRT