Hej
Jeg har, som tilsyneladende mange andre, svært ved helt at finde ud af
at bruge dato-funktionerne i ASP/VBScript.
Jeg indlæser en dato fra en (access-)database og får den i en af to
følgende formater (afhængig af om jeg kører applikationen på min lokale
server eller på mit webhotel):
24-01-04 22:55:25
24-01-2004 22:55:25
Jeg skal have dette konverteret til et format der er magen til RFC822
(
http://asg.web.cmu.edu/rfc/rfc822.html), bortset fra at årstallet skal
være fire-cifret. Ovenstånde skal altså f.eks. konverteres til:
Sat, 24 Jan 2004 22:55:25 +0100
Jeg forsøger mig med en funktion noget a'la
Function RFC822Date(str)
Dim re, ms, m, dt, day, month
Set re = new RegExp
re.Pattern =
"(\d\d)[-./](\d\d)[-./](20)?(\d\d)\s(\d\d)[:.-](\d\d)([:.-](\d\d))?"
Set ms = re.Execute(str)
Set m = ms(0)
Set dt =
DateSerial(2000+m.SubMatches(3),m.SubMatches(1),m.SubMatches(0))
Set month = MonthName(m.SubMatches(1),True)
Set day = WeekdayName(Weekday(dt,2),True,2)
' RFC822Date = (håber dette er trivielt at sætte sammen når jeg
har ovenstående)
End Function
Men udover at det fejler med
Et objekt er obligatorisk: 'DateSerial(...)'
har jeg også på fornemmelsen af at jeg er "på vej over åen efter vand".
Det skinner måske også lidt igennem at jeg ikke har så meget tjek på
objekter i VBScript. Har overvejet at lave det hele om til JScript som
jeg er meget skrappere til, men det er alligevel en ret stor applikation
jeg skal konvertere, så håber at få et brugbart VBScript-tip her i
stedet
Mvh. Stig
www.rockland.dk