Avatar billede jtc Nybegynder
02. december 2003 - 22:32 Der er 32 kommentarer og
3 løsninger

Simpel datoformatering

Hvordan omformer jeg now() så den kommer til at stå med formatet
dd-mm-yyyy tt:mm:ss

<input name="klub" type="hidden" id="klub" value="<% Response.Write(now()) %>">

på nuværende tidspunkt kommer det ud på formen
mm/dd/yyyy tt:mm:ss
Avatar billede eagleeye Praktikant
02. december 2003 - 22:40 #1
Jeg tror ikke der findes en formatdatetime værdi som laver / om til -
Kan du ikke bruge replace?

<input name="klub" type="hidden" id="klub" value="<% Response.Write(replace(now(),"/","-")) %>">
Avatar billede minijensen1 Nybegynder
02. december 2003 - 22:40 #2
sæt dette i toppen af dit asp-dokument
<% Session.LCID = 1030 %>
Det sætter dit datoformat til dansk, som vises i det format du ønsker
Avatar billede minijensen1 Nybegynder
02. december 2003 - 22:40 #3
Læs her om håndtering af datoer i ASP

http://activedeveloper.dk/locator.asp?guid=001000000322
Avatar billede jtc Nybegynder
02. december 2003 - 22:43 #4
minijensen1 det hjælper ikke
Avatar billede minijensen1 Nybegynder
02. december 2003 - 22:44 #5
Så prøv at læse den artikel, og følg den - ifølge den skulle det virke
Avatar billede jtc Nybegynder
02. december 2003 - 22:45 #6
EAGLEEYE det ændre jo kun på /
men hvad med det at datoen skal komme før måneden
Avatar billede eagleeye Praktikant
02. december 2003 - 22:48 #7
så en kombination, bytter den ikke rundt på mm og dd ved at tilføje:
session.LCID = 1030 ?
Avatar billede jtc Nybegynder
02. december 2003 - 22:49 #8
nej det gør den ikke
Avatar billede jtc Nybegynder
02. december 2003 - 22:51 #9
men jeg stiller dette spørgsmål fordi i november blev datoen udskrevet f.eks. som 30/11/2003 men i december bliver dato udskrevet som 12/2/2003, hvordan kan det være
Avatar billede minijensen1 Nybegynder
02. december 2003 - 22:55 #10
Lyder allermest som om at systemdatoformatet er ændret fra dansk til engelsk - kan ikke komme med andre forslag - medmindre at du bruger Session.LCID, og at den ved en fejl er blevet ændret
Avatar billede jtc Nybegynder
02. december 2003 - 22:58 #11
jeg har ikke ændret i noget, men hvordan kan jeg teste det for november igen
Avatar billede minijensen1 Nybegynder
02. december 2003 - 23:00 #12
Kig lidt på funktionen FormatDateTime() - du kan få hjælp til den fra www.activedeveloper.dk ... under dokumentation for VBScript ..

med den kan du nok sætte en dato ind, og så se hvordan det ser ud i forskellige formater - og ellers, så hvis det er din egen server, så sæt datoen tilbage på den, og test det du skal, og så sætte den frem igen.
Avatar billede nmh Nybegynder
02. december 2003 - 23:01 #13
Den helt primitive måde:
day(now) indeholder dagen
month(now) måneden
year(now) årstallet
hour(now)
minute(now)
second(now)
så kan du selv sætte dem sammen med det skilletegn, du ønsker.
Avatar billede jtc Nybegynder
02. december 2003 - 23:03 #14
det hjælper mig bare ikke ret meget for det samme problem er sket på to forskellige servere
Avatar billede nmh Nybegynder
02. december 2003 - 23:03 #15
f.eks.:
day(now) & "-" & month(now) & "-" & også videre
Avatar billede jtc Nybegynder
02. december 2003 - 23:03 #16
nmh kan du ikke skrive det ind i koden
Avatar billede nmh Nybegynder
02. december 2003 - 23:06 #17
dato=
<input name="klub" type="hidden" id="klub" value="<% Response.Write(day(now) & "-" & month(now) & "-" & year(now) & " " & hour(now) & ":" & minut(now) & ":" & second(now) ) %>">
Avatar billede jtc Nybegynder
02. december 2003 - 23:06 #18
dette virker overhovedet ikke

<% Response.Write(day(now) & "-" & month(now) & "-"  & year(now) " " & hour(now) ":" & minute(now) ":" & second(now))%>
Avatar billede nmh Nybegynder
02. december 2003 - 23:09 #19
dette virker overhovedet ikke

<% Response.Write(day(now) & "-" & month(now) & "-"  & year(now) & " " & hour(now) & ":" & minute(now)& ":" & second(now))%>

Jeg fik glem & et par steder. Nu burde det være ok.
Avatar billede jtc Nybegynder
02. december 2003 - 23:12 #20
ja det hjalp men hvad så med et nul foran måned og dato hvis de er under 10
Avatar billede nmh Nybegynder
02. december 2003 - 23:20 #21
ja så er det mere besværligt. Den rigtige måde er jo at gøre det med LCID = 1030
Men så kan du jo lave en funktion
function fmt(s)
  if len(s)<2 then
    fmt=" " & s
  else
    fmt=s
  end if
end function

Så erstatter du day(now) med fmt(day(now)) og tilsvarende med month(now).
Men denne løsning er en nødløsning.
Avatar billede eagleeye Praktikant
02. december 2003 - 23:22 #22
man kan også bruge right sådan dette: 
day(now)

Bliver til:
right("0" & day(now),2)

osv for de andre.
Avatar billede jtc Nybegynder
02. december 2003 - 23:28 #23
det virker ikke eagleeye
Avatar billede eagleeye Praktikant
02. december 2003 - 23:31 #24
Det virker nu fint for mig.
Prøv at vise hvordan din linje ser ud nu.
Avatar billede nmh Nybegynder
02. december 2003 - 23:31 #25
Hvis du vil bruge disse løsninger, så lav en funktion, der håndterer det hele.
function mitDatoFormat
  dim d, m, y, h, mm, s
  d=right("0" & day(now),2)
  m=right("0" & month(now),2)
  y=year(now)
  h=hour(now)
  mm=minute(now)
  s=second(now)
  mitDatoFormat=d & "-" & m & "-" & y & " " & h & ":" & mm & ":" &s
end function
så kan du blot sige response.write(mitDatoFormat)
Avatar billede nmh Nybegynder
02. december 2003 - 23:33 #26
jeg fik også eagleeyes forslag til at virke.
Avatar billede jtc Nybegynder
02. december 2003 - 23:36 #27
det var bare mig eagleeye
Avatar billede jtc Nybegynder
02. december 2003 - 23:38 #28
nå men tak for hjælpen alle sammen kan i ikke lige oprette et svar så får i 10 point hver
Avatar billede nmh Nybegynder
02. december 2003 - 23:38 #29
her er et. :o)
Avatar billede eagleeye Praktikant
02. december 2003 - 23:38 #30
ok ;) det er helt i orden.
Avatar billede jtc Nybegynder
02. december 2003 - 23:40 #31
mange tak for hjælpen, det er bare dejligt der er nogen der gider hjælpe
Avatar billede nmh Nybegynder
02. december 2003 - 23:41 #32
men det kunne nu være interessant at finde ud af, hvorfor du pludselig har fået disse problemer med datoformatet.
Avatar billede jtc Nybegynder
02. december 2003 - 23:41 #33
ja men jeg ved heller ikke hvorfor den lige pludselig er skiftet fra 1. december
Avatar billede nmh Nybegynder
02. december 2003 - 23:44 #34
Men nu vil din løsning i hvert fald være uafhængig af, hvad der forgår på den server, der publicerer dine ting mht. datoformatering.
Avatar billede jtc Nybegynder
02. december 2003 - 23:47 #35
ja men jeg syntes også det er underligt at det samme er sket på 2 forskellige servere
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