webForumDet fria alternativet

Datumfråga

11 svar · 314 visningar · startad av Havregryn

HavregrynMedlem sedan juni 200288 inlägg
#1

Hur görmanomNow till 18/9, 12:41 ?

PoffeMedlem sedan apr. 20022 743 inlägg
#2

sDatum = Day(Now) & "/" & Month(Now) & ", " & Left(Time,5)

Nu ska sDatum innehålla det formatet.

HavregrynMedlem sedan juni 200288 inlägg
#3

Tack ska du ha.

HavregrynMedlem sedan juni 200288 inlägg
#4

Återupplivar mitt gamla inlägg...
Om man kör följande:

 sDatum = Day(Now) & "/" & Month(Now) & ", " & Left(Time,5)

Då får man mycket riktigt ut datumet så som jag skrev ovan. Men om man nu även vill skriva ut "idag" och "igår", hur bär man sig åt då?

RaggeMedlem sedan apr. 200370 inlägg
#5

Prova den här funktionen...

function CheckIfToday(dtmTime)
	if DateDiff("d", dtmTime, Now()) = 0 then
		CheckIfToday = "Idag"
	elseif DateDiff("d", dtmTime, Now()) = 1 then
		CheckIfToday = "Igår"
	else
		CheckIfToday = dtmTime
	end if
end function

Anropa funktionen...

<%=CheckIfToday(sDatum)%>
HavregrynMedlem sedan juni 200288 inlägg
#6

Om jag anropar denna funktion så får jag fäljande fel:

Körningsfel i Microsoft VBScript fel '800a000d' 

Inkompatibla typer: '[string: "9/6, 09:48"]' 

/sp/inloggad/forum/default.asp, rad 24

Har detta något att göra med att jag har sparat datumet först med funktionen ovan, och sedan kör denna funktion efter, på den sida datumet visas?

PeeerMedlem sedan mars 20025 907 inlägg
#7

Havregryn skrev:

Har detta något att göra med att jag har sparat datumet först med funktionen ovan, och sedan kör denna funktion efter, på den sida datumet visas?

Ja! Du ska skicka in datum skrivna YYYY-MM-DD i funktionen för att det ska fungera (Now() går också bra).

HavregrynMedlem sedan juni 200288 inlägg
#8

Okej, då testar jag det. Tack.

cyprysMedlem sedan dec. 20003 563 inlägg
#9

Ett sätt/tips bland många är:

<%=CheckIfToday(Format(sDatum, "yyyy-MM-dd"))%>

/r parentes flyttad rätt

HavregrynMedlem sedan juni 200288 inlägg
#10

Gjorde som Cyprys skrev, fick följande fel:

 Körningsfel i Microsoft VBScript fel '800a000d' 

Inkompatibla typer: 'Format' 

/sp/inloggad/forum/default.asp, rad 124 
8

Blir inte allt väldigt komplicerat?
Jag har ju sparat datumet så som jag vill ha det, alltså typ: 21/4, 14.00.
Skulle man inte kunna modifiera funktionen istället så att den anpassar sig efter det nya formatet?

PeeerMedlem sedan mars 20025 907 inlägg
#11

Varför sparar du datumet så? Spara i normalt format från början (YYYY-MM-DD hh:mm:ss), så kommer allt bli mycket lättare sen.

cyprysMedlem sedan dec. 20003 563 inlägg
#12

Ett tips är att alltid skriva in datum i ett riktigt datumformat i databas och formatera vid utskrift.
Eller det är inte bara ett tips utan ett krav så man slipper problem som detta.
Min kod var förövrigt lite fel med paranteser då den andra skall flyttas till slutet, men jag vet inte om den funkar på ditt "datumformat".

141 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)