"Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
news:4lj4c2lqrnv8l2juk4untcrkv7i0a0ltg0@4ax.com...
> On Sat, 22 Jul 2006 07:11:36 +0200, "Anders Boholdt-Petersen"
> <post-REMOVETHIS-@boholdt-petersen.dk> wrote:
>
>>Jeg er ret ny i ASP!
>
> Velkommen til!
>
>>Datoen udskrives f.eks. som 21.07.2006 12:00.
> <snip>
>
>>function ModifiedDate(strFile)
>> dim objFS, objFile
>> dim Result
>> set objFS = Server.CreateObject("Scripting.FileSystemObject")
>> set objFile = objFS.GetFile(strFile)
>> Result = objFile.DateLastModified
>> set objFile = Nothing
>> set objFS = Nothing
>> ModifiedDate = Result
>>end function
> <snip>
>
>>Er der nogen derude, som kan lave et eller andet ved de ovenstående koder,
>>således at datoen f.eks. udskrives som 21. Juli 2006 12:00 hvis det var på
>>dette tidspunkt, en fil blev lagt op på webserveren?
>
> Hvis du erstatter nederste linie i din funktion med:
>
> ModifiedDate = FormatDateTime(Result, 1) & " " &
> FormatDateTime(Result, 4)
> (på én linie)
>
> - så får du hvad du ønsker, hvis din server er sat op til danske
> tidsangivelser
Sådan!
Nu virker det!
Men, jeg er kommet i tanke om 2 spårgsmål mere, som jeg håber en derude kan
svare på:
1. I den funktion som jeg hidtil har brugt, kunne man også se sekunderne,
f.eks. 12:00:22.
Kan man lave koden sådan i den nye linie (se ovenstående kode), så
sekunderne vises?
Hvis nej, overlever jeg nok dette.
> FormatDateTime er en indbygget VBScript-funktion
> 1-tallet og 4-tallet betyder hhv. lang dato og kort tid - se fx:
> <url:
http://www.html.dk/tutorials/asp/lektion4.asp>
> Her bruger de dog vbLongDate og vbShortTime i stedet.
>
> Men hvis din server ikke er sat op til dansk tid - eller hvis du
> ønsker en mere speciel formattering, må du lave din egen funktion.
>
> Et eksempel kunne være:
>
> Function fktFormatDatoTid(myDate)
> Dim arrMaanedLang
> arrMaanedLang = Array(, "januar", "februar", "marts", "april",
> "maj", "juni", "juli", "august", "september", "oktober", "november",
> "december")
> If IsDate(myDate) Then
> fktFormatDatoTid = Day(myDate) & ". " &
> arrMaanedLang(Month(myDate)) & " " & Year(myDate) & " " & Right("00" &
> Hour(myDate), 2) & ":" & Right("00" & Minute(myDate), 2)
> Else
> fktFormatDatoTid = "-"
> End If
> End Function
>
> (vær opmærksom på linieombrydning!)
>
2. I hvilken en fil skal ovenstående kode placeres, hvis jeg gerne vil have
en mere speciel angivelse af tiden?
> - hvor sidste linie i din egen funktion så skal erstattes med:
> ModifiedDate = fktFormatDatoTid(Result)
>
> Forklaring:
> 1. Først laves der et array med månedsnavne. Det første komma er
> indsat, fordi arrays er nul-nummererede, mens måender starter med 1.
> NB: Månedsnavne starter med lille bogstav på dansk.
> 2. Dernæst checkes for, om det faktisk er en dato-værdi, der bruges
> som parameter. Det er sikkert kun nødvendigt, hvis funktionen bruges
> mere generelt.
> 3. Så kommer selve formatteringen:
> - dagen og året gi'r sig selv
> - måned bruger arrayet
> - time og minut skal tage højde for, at de nogle gange kun har ét
> ciffer og så skal have et foranstillet nul
> 4. Hvis der ikke var tale om en dato, udskrives blot en streg.
>
> Hvis du kun vil have korte månedsnavne, skal du bare ændre arrayet.
>
>
> NB: Når man skal arbejde med datoer - og i øvrigt - kan det *meget*
> godt betale sig, at have VBScript-dokumentationen ved hånden. Brug den
> online eller (hvad jeg foretrækker) hent den som Windows Help File:
> <url:
>
http://msdn.microsoft.com/library/default.asp?url=/downloads/list/webdev.asp>
> - eller direkte herfra:
> <url:
>
http://www.microsoft.com/downloads/details.aspx?FamilyId=01592C48-207D-4BE1-8A76-1C4099D7BBB9&displaylang=en>
>
>>Jeg siger på forhånd tak for eventuelle svar!
>
>
> Good luck!
Jeg siger på forhånd tsak for eventuelle svar, det er rart, at man kan bruge
disse nyhedsgrupper, og udveksle erfaringer
.
MVH Anders
> --
> Jørn Andersen,
> Brønshøj