Function ConvertStringToDate(sDate)
If Len(sDate) <> 6 Then
ConvertStringToDate = Null
Else
Dim re
Set re = New RegExp
re.Pattern = "^\d{6}$"
If Not re.Test(sDate) Then
ConvertStringToDate = Null
Else
Dim y
y = CInt(Left(sDate, 2))
If y >= 0 And y < 69 Then
y = "20"
Else
y = "19"
End If
ConvertStringToDate = y & Left(sDate, 2) & "-" & mid(sDate, 3, 2) & "-" & Right(sDate, 2)
re.Pattern = "^\d{4}-\d{2}-\d{2}$"
If Not (IsDate(ConvertStringToDate) And re.Test(ConvertStringToDate)) Then
ConvertStringToDate = Null
End If
End If
End If
End function
myDate = ConvertStringToDate("123456")
If IsNull(myDate) Then
response.write ":("
else
response.write myDate
end if
Hmm, hur håller du reda på om det är ett datum från 1900-talet eller 2000 om du bara har 2 siffror i året?
07-10-07 skulle ju lika gärna vara 1907-10-07!
Hmm, hur håller du reda på om det är ett datum från 1900-talet eller 2000 om du bara har 2 siffror i året?
07-10-07 skulle ju lika gärna vara 1907-10-07!
:)
I detta fallet vet jag att datumintervallet går mellan 1970 och 2010.
Det är en slarvigt skriven excelfil som skall in i en databas...