Avatar billede rane Nybegynder
25. juni 2003 - 17:21 Der er 11 kommentarer og
1 løsning

Dato opsplitning

Hejsa,

pga. tidspres prøver jeg lige at spørge her, om noget der sikkert er forholdsvist nemt, men jeg har ikke nok overskud til at bruge mere tid end nødvendigt.

I en Access-database har jeg et datofelt hvor en dato så ser således ud:  25-06-2003 16:44:00

Hvordan får jeg det nemmest splittet op så jeg får følgende ud af det på asp-siden?

Jun 25, 2003 - 04:44 PM
May 23, 2003 - 12:00 AM
osv

Jeps jeg skal bruge de engelske månedsnavne og tidsangivelser i mit udtræk :)

75 points til den, der hurtigt lige kan taste noget kode, der splitter den oprindelige Access-dato op i ovenstående - evt. også gerne ugedage på engelsk - og så skal det naturligvis virke :)
Avatar billede medions Nybegynder
25. juni 2003 - 17:24 #1
Prøv sådan her engang:

<% =FormatDateTime(objRs("dato"), VBLongDate) %>

//>Rune
Avatar billede rane Nybegynder
25. juni 2003 - 17:31 #2
så får jeg følgende output:
25. juni 2003

ville gerne have adskilt det ad så man i sidste ende kunne gøre noget lignende dette:
<%= month & " " & dato & ", " & aarstal & " - " & tidspunkt_med_pm_eller_am %>
Avatar billede eagleeye Praktikant
25. juni 2003 - 17:36 #3
Du skal havde lavet noget i stil med dette:


dato = rs("datoFelt")
str = monthname(month(dato),true) & " " & day(dato) & ", " & Year(dato)
str = str & " - " & FormatDateTime(dato,3)
Response.Write str



Og så skal du havde sat linjen her ind også eksvis i toppen af din kode for UK dato format:
Session.LCID = 1033
Avatar billede medions Nybegynder
25. juni 2003 - 17:36 #4
Prøv at leg lidt med dette:

http://www.devguru.com/Technologies/vbscript/quickref/formatdatetime.html

Det skulle være hvad du havde brug for!

//>Rune
Avatar billede nielle Nybegynder
25. juni 2003 - 17:45 #5
TheDate = rs("ditfelt")

TheDay = Mid(TheDate, 1, 2)
TheMonth = Mid(TheDate, 4, 2)
TheYear = Mid(TheDate, 7, 4)
TheHour = Mid(TheDate, 12, 2)
TheMinute = Mid(TheDate, 15, 2)
TheSecond = Mid(TheDate, 18, 2)

TheMonthStr = MonthName(TheMonth)

if TheHour > 12 then
  TheHour = TheHour-12
  AmPm = "PM"
else
  AmPm = "AM"
end if
Avatar billede rane Nybegynder
25. juni 2003 - 17:54 #6
Ok nu er den ved at være der. Mangler bare en ting dog...i eagleeyes eksempel skriver den de danske månedsnavne - hvordan fikses det nemmest så de bliver på engelsk?

Kan vel laves nemmere end:  if month = "januar" then month = "january" end if  x 12 måneder
Avatar billede eagleeye Praktikant
25. juni 2003 - 17:56 #7
Har du sat denne ind`?

Session.LCID = 1033
Avatar billede rane Nybegynder
25. juni 2003 - 18:02 #8
Jo nu har jeg - men får følgende udtræk nu:

Jun 25, 2003 - 4:55:00 PM

Den er der næsten...skal bare lige have fjernet de sidste :00  + føjet et "0" til i starten af timen hvis den er under 10.  Min hjerne er bare død nu - har du 2 min mere her til sidst? :)
Avatar billede eagleeye Praktikant
25. juni 2003 - 18:13 #9
Prøv lige sådan her så:


Session.LCID = 1033
dato = rs("datoFelt")

strTime = FormatDateTime(dato,3)
arrTime = split(strTime,":")
strTime = Right("0" & arrTime(0),2) & ":" & Right("0" & arrTime(1),2) & " " & Right(strTime,2)
str = monthname(month(dato),true) & " " & day(dato) & ", " & Year(dato)
str = str & " - " & strTime

Response.Write str
Avatar billede nielle Nybegynder
25. juni 2003 - 18:14 #10
Brug InStrRev til at finde det sidste ":".

Brug derefter Left og Right til at tage de to ender.

Pos = InStrRev(Datoen, ":")
NyDato = Left(Datoen, Pos-1) & Right(Datoen, Len(Datoen)-Pos-3)
Avatar billede rane Nybegynder
25. juni 2003 - 18:16 #11
Perfekt, fornemt og 100 andre positive ord :)

Takker mange gange :)
Avatar billede nielle Nybegynder
25. juni 2003 - 18:16 #12
...men hvis du vil have fuld frihed, så er det stadigvæk mit 17:45:38 svar du skal bruge.
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