Avatar billede hansa Nybegynder
30. august 2004 - 08:07 Der er 7 kommentarer

RFC-822 datoformat

Hej,

Hvordan kan jeg let konvertere en dato om til RFC-822 datoformatet?

Det format min doto er i nu, er fx "01. august 2001"

Tak for hjælpen!
Avatar billede medions Nybegynder
30. august 2004 - 08:55 #1
Fx
dtmDate = "01. august 2001"
dtmDate = CDate(dtmDate)

//>Rune
Avatar billede eagleeye Praktikant
30. august 2004 - 09:05 #2
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' GetRFC822Date
' Purpose:
' Gets date in the RFC 822 format (with 4-digit year) as required by the RSS
' 2.0 spec.
' Parameters:
' dtmDate - Date to format.
' Returns:
' Formatted date.
' Revisions:
' [tempus_rook@hotmail.com 2003-11-02] Code written.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function GetRFC822Date(dtmDate)
    ' XXX what about daylight savings?
    Dim strDate
    strDate = Left(WeekdayName(DatePart("w", dtmDate)), 3) & ", " & _
        LeadingZero(DatePart("d", dtmDate))
    strDate = strDate & _
        " " & Left(MonthName(DatePart("m", dtmDate)), 3) & " " & _
        DatePart("yyyy", dtmDate) & _
        " " & LeadingZero(DatePart("h", dtmDate))
    strDate = strDate & ":" & LeadingZero(DatePart("n", dtmDate)) & _
        ":" & LeadingZero(DatePart("s", dtmDate)) & " GMT"
    GetRFC822Date = strDate
    ' Format: Sun, 02 Nov 2003 13:40:01 GMT
   
End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' LeadingZero
' Purpose:
' Adds a leading zero to single digit numbers.
' Parameters:
' strText - Var to add a zero to, if necessary.
' Returns:
' Original text, with leading zero if required.
' Revisions:
' [tempus_rook@hotmail.com 2003-11-02] Code written.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function LeadingZero(strText)
    If Len(strText) = 1 Then
        LeadingZero = "0" & strText
    Else
        LeadingZero = strText
    End If
End Function


dato = "01. august 2001"
rfcDato = GetRFC822Date(Cdate(dato))
Avatar billede hansa Nybegynder
31. august 2004 - 20:42 #3
Tak for jeres svar!

Jeg får bare en fejl hver gang jeg benytter funktionen CDate - er det ikke en standard funktion?
Avatar billede eagleeye Praktikant
31. august 2004 - 20:44 #4
Ja det er det. Køre du med DK dato format på din server. Det er nok fordi den ikke kan gennemskue "01. august 2001" er en dato men den tror det en tekst.
Avatar billede hansa Nybegynder
31. august 2004 - 20:56 #5
Jeg prøvede at køre første eksempel:

dtmDate = "01. august 2001"
dtmDate = CDate(dtmDate)

Det kører bare slet ikke.

Måske det vil være bedst at omdanne dato til et dato-objekt først?
Avatar billede eagleeye Praktikant
31. august 2004 - 21:04 #6
Ja men det var meningen med CDate  :)
Avatar billede eagleeye Praktikant
31. august 2004 - 21:13 #7
Så kan du måske prøve at lave august om til 8:

dtmDate = "01. august 2001"
dtmDate = replace(dtmDate,". januar ","-01-")
dtmDate = replace(dtmDate,". februar ","-02-")
dtmDate = replace(dtmDate,". marts ","-03-")
dtmDate = replace(dtmDate,". april ","-04-")
dtmDate = replace(dtmDate,". maj ","-05-")
dtmDate = replace(dtmDate,". juni ","-06-")
dtmDate = replace(dtmDate,". juli ","-07-")
dtmDate = replace(dtmDate,". august ","-08-")
dtmDate = replace(dtmDate,". september ","-09-")
dtmDate = replace(dtmDate,". oktober ","-10-")
dtmDate = replace(dtmDate,". november ","-11-")
dtmDate = replace(dtmDate,". december ","-12-")
dtmDate = Cdate(dtmDate)

Så har du datoen som dd-mm-yyyy så kan du prøve med funktionen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester