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.
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.
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.
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. :-)
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.)
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