webForumDet fria alternativet

konvertera datumsträng

ASP

4 svar · 656 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Frågan#1

Wepp!

Jag har gjort en liten funktion som konverterar om ett datum av formatet 071007--> 07-10-07.

Jag skulle dock vilja utöka den så att den visar 2007-10-07.

Det finns bara datum på 1900 och 2000-talet

En bonus hade varit att få en kontroll, dvs är datumet ogiltigt ska det inte konverteras...


Function ConvertStringToDate(sDate)
	ConvertStringToDate=Left(sDate, 2) & "-" & mid(sDate, 3, 2) & "-" & Right(sDate, 2)
	
End function
Medlem sedan dec. 20025 483 inlägg
#2

Snabbhack:

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
Medlem sedan juni 20003 076 inlägg
#3

devotion skrev:

Det finns bara datum på 1900 och 2000-talet

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!

Medlem sedan jan. 20013 582 inlägg
#4

doggelito skrev:

devotion skrev:

Det finns bara datum på 1900 och 2000-talet

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...

Mvh
Henrik

Medlem sedan jan. 20013 582 inlägg
#5

Funkar finfint... :) '

Mvh
Henrik

625 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
496 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)