webForumDet fria alternativet

Ersätt 2002-05-22 till idag 2002 =)

ASPur Script - ASP

8 svar · 7 629 visningar · startad av voigtann1

voigtann1Medlem sedan juni 20019 519 inlägg
#1
<%

Function Free(f2)

Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
f2 = Server.HTMLEncode(f2)

'Om det är dagensdatum (2002-05-22) så skriver den ut Idag
objRegExp.Pattern = date()
f2 = objRegExp.Replace(f2,"Idag")

'Samma som ovan fast bara för inlägg som var igår.
objRegExp.Pattern = date()-1
f2 = objRegExp.Replace(f2,"Igår")

'ersätter 2002-05-22 till = 22/05 - 02
objRegExp.Pattern = "(..)(..)\-(..)\-(..)"
f2 = objRegExp.Replace(f2,"$4/$3 - $2")

	free = f2
End Function
%>

Hoppas ni har någon användning av detta.

PaceMedlem sedan juni 20019 024 inlägg
#2

En alternativ variant på samma funktion, men som inte använder RegExp:

' Konverterar datum i NOW-format till "1 jan 2000 01:00" (med eller utan tid).
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 = "Idag"
	ElseIf intDaysPrune = 1 then
		strDate = "Igår"
	Else
		arrMonths = Array("Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December")
		strDate = Day(dtmDatum) & " " & Lcase(Left(arrMonths(Month(dtmDatum) - 1), 3)) & " " & Year(dtmDatum)
	End If
	If blnAddTime Then
		strTime = " " & FormatDateTime(dtmDatum, 4)
	End If
	ConvDate = strDate & strTime
End Function
voigtann1Medlem sedan juni 20019 519 inlägg
#3

for i = 1 to 12
objRegExp.Pattern = "(....)\-(" & right("0" & i,2) & ")\-(..)"
f2 = objRegExp.Replace(f2,"$3 " & lcase(monthname(i)) & " $1")
next

så får ni:
1 januari 2002 tex istället för 2002-01-01

gregganMedlem sedan jan. 2004678 inlägg
#4

hur blir det om det är samma datum men ett annat år? blir det inte knas då?

voigtann1Medlem sedan juni 20019 519 inlägg
#5

Nej... eftersom den kollar date()... om ett datum i tex databasen är lika med mönstret som date() ger då ska den svara med att skriva ut idag istället för date()

WebbisNetMedlem sedan feb. 20032 027 inlägg
#6

men om jag vill ha in detta rs i regexp-versionen då
visitor1("HomeTimeVisited")

Hur får jag den att bli
Idag "tid"
och Igår "tid"

voigtann1Medlem sedan juni 20019 519 inlägg
#7
Free(cdate([b]Värde[/b]))

ersätt värde med med vad ni nu vill använda...

WebbisNetMedlem sedan feb. 20032 027 inlägg
#8

voigtann1 skrev:

Free(cdate([b]Värde[/b]))

ersätt värde med med vad ni nu vill använda...

Det här blev ju inte alls lyckat
<%=Free(Cdate(right(replace(showAll("klotterDatum"),"-",""),6)))%> <%=showAll("klotterTime")%>

Resultat 08/07 - 47 19:19:23

voigtann1Medlem sedan juni 20019 519 inlägg
#9

1. Vad innehåller din KlotterDatum då?
2. Du ersätter - med "" vilket inte gör den till ett datum alls (få inte till det i alla fall).
3. Om både punkt 1 och 2 ser ok ut, vad är det för data du slänger in i funktionen i slutet:
vad ger:

Cdate(right(replace(showAll("klotterDatum"),"-",""),6))

för struktur innan den gå in i "min" funktion?

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