webForumDet fria alternativet

Datumfråga: Konvertera till AM/PM.

ASP

10 svar · 749 visningar · startad av danis

Medlem sedan aug. 2002157 inlägg
Frågan#1

Hej!

Har ett litet problem, kanske ni kan hjälpa mig.

Jag vill konvertera ett vanligt (svenskt) datum, så att resultatet blir ett amerikanskt/engelskt, med PM/AM.

Exempelvis att "2007-05-25 13:55:00" blir "5/25/2007 1:55:00 PM".

Jag vill inte ändra session lcid, alla datum är redan sparade i databasen. Det är en svensk/engelsk sajt, med samma databas, allt sparas med svensk tid i databasen.

Någon som har någon idé? Kanske en länk?

Väldigt tacksam om någon vill hjälpa mig lite.:)

Mvh
Daniel

Medlem sedan juni 200032 967 inlägg
#2

Jag vill inte ändra session lcid, alla datum är redan sparade i databasen.

Varför vill du inte ändra LCID? Det är ju alldeles ypperligt att använda för att se till att utskriften blir fin. Fortsätt att lagra i vettigt format (jag utgår ifrån att det är fält av vettig typ), och formatera vid utskriften.

Medlem sedan aug. 2002157 inlägg
#3

Det går tyvärr inte. Annars måste jag ha en funktion som konverterar till svenskt datum, det redan finns ca. 20-30 miljoner svenska datum sparade i databasen. Plus att jag måste bygga om en stor del av sajten.

Det jag måste ha är bara en funktion som konverterar ett svenskt datum till ett amerikanskt datum. Det är betydligt lättare, iallafall i mitt fall.

Medlem sedan juni 20019 519 inlägg
#4

Det spelar väl ändå ingen roll? Om du har sparat som ett datum fält i din databas så kan du använda dig av LCID för utskrift resultatet.

Medlem sedan juni 200032 967 inlägg
#5

det redan finns ca. 20-30 miljoner svenska datum sparade i databasen.

Vad har det med saken att göra? Så länge du använt ett fält av datumtyp så är det "datum" som sparats, inte "svenska datum".

Medlem sedan aug. 2002157 inlägg
#6

Aja, det går iallafall inte. Men om någon har ett tips/länk på hur man konverterar till ett amerikanskt datum så får ni gärna hjälpa mig.:)

Medlem sedan juni 200032 967 inlägg
#7

Varför går det inte?

Medlem sedan aug. 2002157 inlägg
#8

Tack för Era snabba svar, testar ett annat forum, med hopp om att man kanske får hjälp med det man behöver. Istället för en massa argument om varför jag ska byta LCID. Jag skrev klart och tydligt att jag INTE ville ändra LCID. Men men.

Alla sajtuppbyggnader är inte likadana, min är byggt på ett speciellt sätt. That's it. :-)

/D

Medlem sedan juni 200032 967 inlägg
#9

Jag menar inte att vara otrevlig, faktum är bara att det enklaste sättet är att byta LCID (till exempel med setlocale()), göra sin utskrift och sedan byta tillbaka.

Det är dock inte svårt för dig att göra en funktion för att omvandla. Använd bara funktionerna Year(), Month(), Day() osv, och bygg en ny datumsträng som ser ut som du vill.

edit: ett funktionsförslag, utan att byta LCID kan vara typ:

function foo(dDate)
     setlocale("en-us")
     sDate = Cstr(Cdate(dDate))
     setlocale("sv-se") ' har jag för mig är för svenska
     foo = sDate
end function

(funktionen är dock väldigt otestad, men borde kunna fungera.)

mvh

Medlem sedan juni 20019 519 inlägg
#10

danis skrev:

testar ett annat forum, med hopp om att man kanske får hjälp med det man behöver. Istället för en massa argument om varför jag ska byta LCID. Jag skrev klart och tydligt att jag INTE ville ändra LCID. Men men.

Få hjälp? Varför göra en funktion som gör detta redan med LCID, det kommer bli en onödig kod för något som redan finns. Men uppfinn hjulet igen. Är det att du har sparat datumet som en sträng eller vad? Man kan inte hjälpa mer än vad man få av personen som frågar.

Om jag tänker tillbaka så har jag för mig att jag har gjort en sådan sak själv.

Kan ge tips:

Plocka ut allt: CDate(rs("datumet"))
Myday = day(CDate(rs("datumet")))
myMonth = day(CDate(rs("datumet")))
myYear = year(CDate(rs("datumet")))

Myhour = Hour(CDate(rs("datumet")))
If MyHour > 12 Then
  AmPm = "PM"
  MyHour = MyHour -12
Else
  AmPm = "AM"
End If
'... osv, sen bara bygg ihop strängen
newStr = Myday & "/" & myMonth  &"/" & myYear & " " & MyHour &....& AmPm

Något sånt.

Medlem sedan aug. 2002157 inlägg
#11

Nej, datumet sparat inte som en sträng.

Tack så mycket för exemplet! (y)

Mvh
Daniel

259 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)