Hej! Jag har problem med att formatera datum korrekt. Hej Suns Asp kan vara "kinkiga" angående LCID. Jag gjorde en funktion när jag inte fick det att fungera med lcid = 1041 Hej och tack för svar! Som Per skriver så ska du använda session.lcid = 1053 som är svensk formatering Hej och tack för svar! Du ska göra som Per säger - använd 1053. 1041 är japanska och kanske inte det du är ute efter!!?? Bo, nu blir jag nog lite irriterad, har du problem med svenska språket eller? Är datumet inskickat i ett datumfält i databasen så kommer den ju skicka ut värdet enligt den datum/tid standard du kör, i detta fall Japanesiska. Sen spelar det nog ingen högre roll om du kör Sun ASP eller IIS för kör du fel locale så blir det fel output, så det du får göra är väl en replace varje gång ett datum ska visas. Nej självklart driver jag inte med dig och kan läsa - men jag har fått Server ERROR från pellesoft ett antal gånger sista veckorna - idag igen - och när jag tittade efter mitt första svar till dig så fanns det inte - därför skrev jag igen - tagga ner och se helheten Jag har haft en sida på en Sun server och använde mig av LCID = 2057 och sedan dessa funktioner:problem med formatering av datum, asp och access, lcid = 1041
Jag använder NOW för att hämta datum och tid från servern, lägger in i accessdatabas, så här långt ser allt bra ut, jag tittar "manuellt" i databasen och hittar ex. 2006-02-13 12:15:00 precis som jag önskar.
När jag hämtar från databasen presenteras samma information 2006/02/13 12:15:00 varför?
I den sida jag hämtar NOW har jag satt session.lcid = 1041, webservern är linux med Sun asp.
Jag gör REPLACE för att byta ut / mot -. Och detta verkar fungera men som sagt när jag hämtar denna info från databasen blir det slashar igen...
Tacksam för svar
/GunnarSv: problem med formatering av datum, asp och access, lcid = 1041
På sidan där du skall presentera datumet kan du prova med skriva in...
<code>
<%
Session.LCID = 1053
%>
</code>
Då skall du få datumet på rätt sätt. Jag måste resevera mig för Sun ASP som du har, det har inte jag... men det borde väl fungera ändå.
/ PerSv:problem med formatering av datum, asp och access, lcid = 1041
Där är flera som haft problem med just det när dem kör Suns Asp.Sv: problem med formatering av datum, asp och access, lcid = 1041
<code>
function fixadatumtid(datumet)
if IsDate(datumet) then
if LEN(month(datumet)) = 1 then
manad = "0"&month(datumet)
else
manad = month(datumet)
end if
if LEN(day(datumet)) = 1 then
dagen = "0"&day(datumet)
else
dagen = day(datumet)
end if
if LEN(hour(datumet)) = 1 then
timmen = "0"&hour(datumet)
else
timmen = hour(datumet)
end if
if LEN(minute(datumet)) = 1 then
minuten = "0"&minute(datumet)
else
minuten = minute(datumet)
end if
if LEN(second(datumet)) = 1 then
sekunden= "0"&second(datumet)
else
sekunden= second(datumet)
end if
fixadatumtid= year(datumet)&"-"&manad&"-"&dagen & " "&timmen&":" &minuten&":"&sekunden
end if
end function
</code>
Och så anropar du med
<code>
Response.write fixadatumtid(now)
</code>Sv:problem med formatering av datum, asp och access, lcid = 1041
Jag glömde tyvärr nämna att jag skrivit en "test sida" innehållande session.lcid = 1041 och får datum och tid formaterat som jag önskar från servern.
Problemet är att jag från en sida sätter NOW och gör en REPLACE för att ändra / till - och uppdaterar databasen vilket fungerar men när jag hämtar denna info från databasen och presenterar resultatet på en annan sida blir det slashar igen.
/GunnarSv: problem med formatering av datum, asp och access, lcid = 1041
1041 är japansk formatering - så den blir säkert lite ovan om det inte är japanska du VILL ha. Du ska inte behöva hålla på med nån replace alls - men inkludera session.lcid = 1053 på varje sida du behöver formatering - annars kan det hända att du får en servervariant exekverad i alla fallSv:problem med formatering av datum, asp och access, lcid = 1041
1041 är enligt rekommendation från webhotellet space2u där sidan exekveras och det fungerar faktiskt förutom slasharna. Resultat av NOW blir alltså ex. 2006/02/13 14:59:00 därav Replace av / till - som också fungerar men blir fel när jag hämtar från databasen.
1053 ska vad jag hört endast fungera på IIS och PWS servrar och inte Linux/Sun one asp.
Jag har provat 1053 men får felmeddelande:
Error Type:
Session object, ASP 0219 (0x80004005)
The specified LCID is not available.Sv: problem med formatering av datum, asp och access, lcid = 1041
ocg Reoplace ska du inte alls behöva syssla med - däremot kan det hjälpa att sätta session.lcid på ALLA sidor för att undvika att servern exekverar ut nåt annatSv:problem med formatering av datum, asp och access, lcid = 1041
KAN DU LÄSA DETTA?
JAG HAR PROVAT MED SESSION.LCID=1053 OCH FÅR FELMEDDELANDE:
Error Type:
Session object, ASP 0219 (0x80004005)
The specified LCID is not available.
Jag vet inte, du kanske bara driver med mig och i såna fall ber jag om ursäkt att jag inte uppskattar skämtet men som sagt försök läs och förstå vad jag skriver annars kan du Bo låta bli att svara på detta inlägg.
/GunnarSv: problem med formatering av datum, asp och access, lcid = 1041
Sv: problem med formatering av datum, asp och access, lcid = 1041
Sv:problem med formatering av datum, asp och access, lcid = 1041
<%
Function FormatDatePart(datPart)
Dim datTemp
If Len(datPart) = 1 Then
datTemp = "0" & datPart
Else
datTemp = datPart
End If
FormatDatePart = datTemp
End Function
Function ConvertMonth(sDate)
Dim str
select case sDate
case 01
str = "Januari "
case 02
str = "Februari "
case 03
str = "Mars "
case 04
str = "April "
case 05
str = "Maj "
case 06
str = "Juni "
case 07
str = "Juli "
case 08
str = "Augusti "
case 09
str = "September "
case 10
str = "Oktober "
case 11
str = "November "
case 12
str = "December "
case else
str = "FEL! "
end select
ConvertMonth = str
End Function
Function ConvertDay(sDay)
Dim str2
select case sDay
case 1
str2 = "Söndag "
case 2
str2 = "Måndag "
case 3
str2 = "Tisdag "
case 4
str2 = "Onsdag "
case 5
str2 = "Torsdag "
case 6
str2 = "Fredag "
case 7
str2 = "Lördag "
case else
str2 = "FEL! "
end select
ConvertDay = str2
End Function
Function FormatDatabaseDate(datDateTmp, strDateFormat)
Dim datDateTemp, datDate
Dim datTemp, datDatabaseDate, datFull
' MAKE SURE FORMAT IS ALL UPPERCASE
datDateTemp = UCase(strDateFormat)
' BEGIN REPLACING TOKENS ON DATE
datDate = Replace(datDateTmp, "/", "-")
datDateTemp = Replace(datDateTemp, "DDDD", ConvertDay(Weekday(datDate)))
datDateTemp = Replace(datDateTemp, "DD", FormatDatePart(Day(datDate)))
datDateTemp = Replace(datDateTemp, "MMMM", ConvertMonth(Month(datDate)))
datDateTemp = Replace(datDateTemp, "MM", FormatDatePart(Month(datDate)))
datDateTemp = Replace(datDateTemp, "YYYY", Year(datDate))
datDateTemp = Replace(datDateTemp, "YY", Right(Year(datDate), 2))
' BUILD FINAL DATE FORMAT
datTemp = datDateTemp
FormatDatabaseDate = datTemp
End Function
%>