webForumDet fria alternativet
Logga in / Bli medlem

Datumfunktion

ASP

14 svar · 265 visningar · startad av Erik Juhlin

Medlem sedan maj 200010 687 inlägg
Trådstart#1

Jag har gjort den här funktionen men upptäckt att den suger. :)

<%
Function datetime(postdate)
montharray = Array("jan","feb","mar","maj","jun","jul","aug","sep","okt","nov","dec")
datetime = Day(postdate) & " " & montharray(Month(postdate) - 1) & " " & Year(postdate) & " " & Hour(postdate) & ":" & Minute(postdate)
End Function
%>

Vid tiden försvinner 0:orna vilket jag inte vill.
Sen så antar jag att det finns enklare sätt att skriva det på. :)

Medlem sedan dec. 200012 464 inlägg
#2
datetime = Day(postdate) & " " & montharray(Month(postdate) - 1) & " " & Year(postdate) & " " & right("0" & Hour(postdate),2) & ":" & right("0" & Minute(postdate),2)
Medlem sedan maj 200010 687 inlägg
#3

Blir det då rätt vid både 21:09 och 21:10?

Medlem sedan maj 200010 687 inlägg
#4

Äsch, dumt av mig att fråga innan jag testat. Tack LarsG! :)

Medlem sedan dec. 19996 522 inlägg
#5

Tänkte bara påpeka att den blir fel på denna funktion om man är i december. Går att lösa genom att lägga ett skit värde i arrayen innan jan. eftersom han aldrig kommer till positionen 0

Medlem sedan dec. 200012 464 inlägg
#6

Intressant.

Medlem sedan maj 200010 687 inlägg
#7

Nej, den ska funka bra efter som att jag skriver - 1.
Men funktionen är väl ganska kass och jag tror inte jag använt den på något större än nån testgrej.

Finns ju MonthName funktion i VBScript som är lämpligare än att ha det i Array. Och även färdiga funktioner för att formatera datum snyggt...

Medlem sedan dec. 19996 522 inlägg
#8
<%
Function datetime(postdate)
datetime = Day(postdate) & " " & Lcase(Monthname(Month(postdate),true)) & "  " & Year(postdate) & " " & right("0" & Hour(postdate),2) & ":" & right("0" & Minute(postdate),2)
End Function
%>
<%=Datetime(now())%>
Medlem sedan maj 200010 687 inlägg
#9

Varför håller du att dra upp en gammal tråd för att visa att jag inte kodat bra?
Ska man snacka bästa lösningen så är väl det nästan VBs Format.

Format(Now, "d mmm yyyy hh:mm", vbMonday)
Medlem sedan dec. 19996 522 inlägg
#10

Det handlar inte om det, det är många som söker med sökfunktionen och då är det faktiskt av intresse. Inte menat mot dit sätt att koda :) ok

Medlem sedan maj 200010 687 inlägg
#11

Okej, men funktionen fungerar...
Hade du tänkt gå igenom all kod som skrivits på webForum och skriva den på ett sätt som ger samma resultat men fungerar lite smartare?

Lycka till då...

Medlem sedan dec. 19996 522 inlägg
#12

he he nehh absolut inte, men kikade runt lite hur folk hade löst datum formatering och såg detta. Ledsen om du tog illa upp :)

Medlem sedan dec. 19998 577 inlägg
#13

Erik, ta en titt på denna funktionen:
http://www.webeye.nu/default2.asp?que=asp/format.asp

Medlem sedan maj 200010 687 inlägg
#14

Det funkade inte när jag skrev "d mmm yyyy hh:mm".

Och det känns mer lämpligt att använda en inbyggd funktion i VB än att använda en funktion som splittar och gör en massa saker.
Är nästan bättre att skriva en egen funktion då som formaterar på det sättet man vill ha det.

Medlem sedan dec. 19998 577 inlägg
#15

Det funkade inte när jag skrev "d mmm yyyy hh:mm".

Det sa jag inte heller... ;)

260 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
115 ms — ändringar (db)