webForumDet fria alternativet

Hjälp med datum funktion

ASP

2 svar · 245 visningar · startad av Wiklund!!

Medlem sedan juli 2002549 inlägg
Frågan#1

Arbetar med en datum funktion till mitt community.
Efter som att sidan är på engelska vill jag först få alla datum +/- 0 GMT. Sidan ligger på en svensk server så jag vill alltså få alla datum -1 h.

Kommer alltså att spara alla datum i +/- 0 GMT. Sen arbetar jag på en funktion för att hämta datumen beroende på vilken tidzon man har angett (mellan -12 och + 13)

Hittade denna kod i ett tidigare inlägg här på webforum.

tidszone = session("timezone")
session.lcid=2057
datum = dateadd("h",tidszone,now())
If right(Session("timezone"), 2) = ".5" Then
datum = dateAdd("n",30, datum)
End if
response.write day(datum) & " " & _
mid(monthname(month(datum)),1,12) & " " & _
year(datum) & " " & datepart("h",datum) & _
":" & right("0"& datepart("n",datum),2)

Frågan är alltså hur jag först får tiden till +/- 0 GMT. Och sen från det tar plus eller minus antal timmar som Session("timezone") innhåller.

Skulle vara bra om man kunde göra detta till en funktion som jag kan anroppa vid alla tillfällen jag vill skriva ut ett datum från en post i databasen.

Detta kanske inte är det lättaste. Men jag är tacksam för all hjälp jag kan få.

Mvh

Medlem sedan juli 2002549 inlägg
#2

Kanske förklarade en aning krångligt.
Har iaf kommit en bit på vägen nu. Men har fortfarande problem med datum funktionen.

Så här ser funktionen ut som jag brukar använda när jag skriver ut datum:

session.lcid=2057

Function ConvDate(dtmDatum, blnAddTime) 
Dim intDaysPrune, strDate, strTime, arrMonths 
If isEmpty(dtmDatum) Or isNull(dtmDatum) Then Exit Function 

intDaysPrune = DateDiff("d", dtmDatum, Now()) 
If intDaysPrune = 0 Then 
strDate = "Today " 
ElseIf intDaysPrune = 1 then 
strDate = "Yesterday " 
Else 
arrMonths = Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December") 
strDate = Day(dtmDatum) & " " & arrMonths(Month(dtmDatum)) & " "
End If 
If blnAddTime Then 
strTime = FormatDateTime(dtmDatum, 4)
End If 

ConvDate = strDate & strTime
End Function

Och jag vill lägga in denna kod för att plussa på/ta bort timmar.

timezone = session("timezone")
ConvDate = ConvDate + dateadd("h",timezone,now())

Session("timezone") = + eller - timmar

Hoppas att någon fattar vad jag menar nu. Vore guld värt om någon kunde hjälpa mig.

Medlem sedan juli 2002549 inlägg
#3

Yes! Löste det själv för en gångs skull. Verkar fungerar bra.

datum = rs("date")

datum = dateadd("h",timezone, datum)
If right(Session("timezone"), 2) = ".5" Then
datum = dateAdd("n",30, datum)
End if

'##lägger till en nolla innan talet för dagen om det är dag 1-9 i månaden
if day(datum)<=9 then
response.write("0")
end if

response.write day(datum) & " " & _
mid(monthname(month(datum)),1,3) & " " & _
year(datum) & " " & datepart("h",datum) & _
":" & right("0"& datepart("n",datum),2)
257 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)