webForumDet fria alternativet

Felaktigt datumformat

ASP

20 svar · 576 visningar · startad av Skarre

Medlem sedan apr. 20012 427 inlägg
Frågan#1

Trots att jag dubbelkollat min dators "Regional and Language Option", specificerat Session.LCID = 1053 och kontrollerat datumformatet i databasen (svensk Access-databas) så visas datumet enligt följande: 3/7/2003. Vad har jag missat?

Medlem sedan okt. 20005 273 inlägg
#2

Vad får du om du skriver

[red]
<%
Response.write Session.LCID
%>
[/red]

mvh icaaq

Medlem sedan apr. 20012 427 inlägg
#3

Det märkliga är att om jag kör FormatDateTime(datum,1) så visas datumet på svenska (den 7 mars 2003). Här kommer kod:

Set rsNews = objConn.Execute("SELECT * FROM news WHERE newsid = " & newsid & " AND startdate < Date() AND enddate > Date()")
If Not rsNews.EOF Then
	headline = rsNews("headline")
	arrArticle = Split(rsNews("article"),vbCrLf & vbCrLf)
	[b]newsdate = rsNews("startdate")[/b]

	Response.Write(newsdate)
Medlem sedan apr. 20012 427 inlägg
#4

icaaq skrev:

Vad får du om du skriver

[red]
<%
Response.write Session.LCID
%>
[/red]

mvh icaaq

1053

Medlem sedan okt. 20005 273 inlägg
#5

Ett tips ;)
Kör med FormatDateTime()

Mvh icaaq

Medlem sedan apr. 20012 427 inlägg
#6

icaaq skrev:

Ett tips ;)
Kör med FormatDateTime()

Mvh icaaq

Jag vill inte ha datumet som en fras utan i formatet 2003-03-07, och det går inte att åstadkomma med FormatDateTime(). Kör jag t.ex. datumet genom FormatDateTime(datum,2) så blir resultatet detsamma d.v.s. 3/7/2003.

Medlem sedan aug. 20003 575 inlägg
#7

Session.LCID = 1053

Vad händer om du skriver det på sidan då ?
Det kanske inte gäller IIS:en ändå?

Jag tror inte det för jag måste skriva det på min dator
Även om jag har det på svenskt alltihopa förutom själva OS:et då ?

FormatDateTime ändrar ju inte hur det skall skrivas ut.
Utan vad som skall skrivas ut.

Medlem sedan apr. 20012 427 inlägg
#8

Nickemannen skrev:

Session.LCID = 1053

Vad händer om du skriver det på sidan då ?
Det kanske inte gäller IIS:en ändå?

Skarre skrev:

Trots att jag [...] specificerat Session.LCID = 1053 [...] så visas datumet enligt följande: 3/7/2003.

:)

Nickemannen skrev:

FormatDateTime ändrar ju inte hur det skall skrivas ut.

Jo, det gör det faktiskt. :)

Medlem sedan apr. 20012 427 inlägg
#9

Är det ingen som tror sig veta vad detta skulle kunna bero på? Jag kan inte fortsätta utan att lösa detta så jag alla förslag uppskattas.

Medlem sedan okt. 20005 273 inlägg
#10

Är det mycket kod? om inte släng upp den här så kan jag testa på min burk.....

Medlem sedan apr. 20012 427 inlägg
#11
Response.Write Date()

;)

Medlem sedan okt. 20005 273 inlägg
#12

den gav

[red]
2003-03-12
[/red]

;)
Kanske du kan göra följande

[red]
newsdate = Cdate(FormatDateTime(rsNews("startdate"), 2))[/red]

Eller hur menar du med "fras"??

Mvh icaaq

Medlem sedan apr. 20012 427 inlägg
#13

icaaq skrev:

Kanske du kan göra följande

[red]
newsdate = Cdate(FormatDateTime(rsNews("startdate"), 2))[/red]

Skarre skrev:

Kör jag t.ex. datumet genom FormatDateTime(datum,2) så blir resultatet detsamma d.v.s. 3/7/2003.

:)

Medlem sedan okt. 20005 273 inlägg
#14

Då blir det hårdkodning :)

[red]
Function myFDT(dteDate)
     myFDT = Year(dtedate)&"-"&Right("0" & Month(dtedate), 2)&"-"&Right("0" & Day(dteDate), 2)
End Function
newsdate = myFTD(rsNews("startdate"))
[/red]

Kanske ;)

Medlem sedan apr. 20012 427 inlägg
#15

Låt mig försöka förklara tydligare: jag behöver ingen hjälp med att fixa till datumet till det format jag vill ha det i, men jag vill inte behöva göra det. Det är uppenbart att någonting är fel någonstans och jag vill naturligtvis rätta till det. :)

Medlem sedan juni 20022 599 inlägg
#16

Informationen som finns här verkar inte riktigt matcha ditt problem. Men du kan ju testa lite av det som nämns: Använda SetLocale, prova om problemet kvarstår om du använder JavaScript istället för VB, surfa utan att logga på osv ..

Medlem sedan apr. 20012 427 inlägg
#17

Jag börjar bli väldigt irriterad på min dator nu och jag har ingen som helst aning om vad jag felet beror på eller hur det kan åtgärdas. När jag skriver ut datum från en ASP.NET-sida så blir det rätt, men som sagt, inte från ASP-sidor. *suck*

Medlem sedan apr. 20012 427 inlägg
#18

Ok, efter att frenetiskt ha rotat i alla inställningar och testat och testat så såg jag vid ett testtillfälle att min Session.LCID var 1033 (English - United States) och nu visas faktiskt rätt datumformat om jag sätter LCID till 1053, men jag har aldrig behövt göra det extra arbetet tidigare så det skulle ju vara intressant att veta varför min "default"-LCID helt plötsligt är 1033. Det tas ju uppenbarligen inte från datorns inställningar så det måste ju kunna ställas in någon annan stans.

RED: Det fungerade för ett ögonblick. Numera är allting tillbaka där problemen började, d.v.s. att datumformatet blir fel trots att min LCID är 1053. :x

Medlem sedan apr. 20012 427 inlägg
#19

Problemen fortsätter. Allt var normalt fram till i dag men nu ger följande kod:

<%
Response.Write Session.LCID & "<br>"
Response.Write Date()
%>

... följande resultat:

1053
4/6/2003

Seriöst, jag kan väl inte vara den enda som råkat ut för detta? :)

Medlem sedan feb. 20013 023 inlägg
#20

Tar upp den här tråden igen då jag fick lite märkliga resultat på min egen burk. Jag hittade en artikel....

http://support.microsoft.com/default.aspx?scid=kb;en-us;306044

273 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
145 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)