Bygger en asp-applikation åt en kund som har webbplats på en amerikansk server. (Amerikansk tid samt amerikanska nationella inställningar... kan inte göra något åt det) Jag är lite osäker på hur Access beter sig, men i .Net så använder du System.Globalization för att kontrollera hur datum och nummer ska visas och hanteras. Datumproblem
Hur som helst... Jag lagrar datum och tid i en Access-databas och datumen verkar lagras med amerikanskt datumformat, dvs mm/dd/yyyy
Problemet är att min kund är australiensk och de vill att datumen skall se ut så här: dd/mm/yyyy
Jag har lagt in Session.LCID=3081 vilket är LCID för Australien och plockar ut datum och tid med hjälp av följande funktion
<code>
Function myNow()
myNow = DateAdd("h",18,Now())
End Function
</code>
Detta för att servern finns i Californien (18 timmar före lokal tid).
Detta värde lägger jag in i databasen så här:
<code>
Session.LCID = 3081 ' Australia
strsql = "INSERT INTO table (tblTime) VALUES (#" & myNow() & "#)"
</code>
Problemet är att när jag plockar ut datumet ur databasen och presenterar detta på webbsidan så blir det i amerikanskt format, dvs mm/dd/yyyy
Och ännu värre... Kör jag
<code>
<%=Day(rs("tblTime"))%>
</code>
Så skriver den ut <b>månadsnumret(!)</b> och inte dagen...
Någon som kan ge tips på hur jag skall lösa detta??
Ett sätt vore kanske att ändra alla datumfält till strängar i databasen... men... hmmm... då uppstår väl eventuellt problem när man skall göra urval baserade på datum... blarghhh
Kanske får köra med svenskt datumformat (som är logiskt uppbyggda) lagrade som strängar i databasen..???
// EDIT
Löste det på följande sätt:
* Kör nu med amerikanskt LCID
* Gjorde en funktion som skriver ut australienskt datum
<code>
Function myDateStr(dat)
If isDate(dat) Then
myDateStr = Day(dat) & "/" & Month(dat) & "/" & Year(dat)
Else
myDateStr = cStr(dat)
End If
End Function
</code>Sv: Datumproblem
Edit: Sorry.. Missade att du postat detta i ASP-forumet....