webForumDet fria alternativet

Förbättra och räkna ut månader

ASP

1 svar · 180 visningar · startad av Bosse168

Medlem sedan nov. 20031 018 inlägg
Frågan#1

Använder denna kod för att få ut hur länge man har varit inloggad men problemet är att den inte får med månader (och kanske inte den mest optimerade koden ;))

m = Rs("totalt_antal_min") 

minuter = m Mod 60 
timmar2 = (m - minuter)/60 
timmar = timmar2 Mod 24 
dygn = (timmar2 - timmar)/24 

if dygn > 0 then 
	if dygn = 1 then 
		dygnstring = dygn & " dag " 
	else 
		dygnstring = dygn & " dagar " 
	end if 
else 
dygnstring = "" 
end if 

if timmar>0 then 
	if timmar=1 then 
	timmstring=timmar & " timme " 
	else 
	timmstring=timmar & " timmar " 
	end if 
else 
	timmstring="" 
end if 

if minuter>0 then 
	if minuter=1 then 
	minstring=minuter & " minut" 
else 
	minstring=minuter & " minuter" 
end if 

else 
	minstring="" 
end if
Medlem sedan dec. 1999707 inlägg
#2
Function GetTimeString(ByVal minutes)

	Dim d1, d2
	Dim hours, days, months, years, timeString
	
	d2 =		Now()
	d1 =		DateAdd("n", -minutes, d2)

	years =		DateDiff("yyyy", d1, d2)
	d1 =		DateAdd("yyyy", years, d1)
	If d1 > d2 then
		d1 =	DateAdd("yyyy", -1, d1)
		years =	years - 1
	End if

	months =	DateDiff("m", d1, d2)
	d1 =		DateAdd("m", months, d1)
	If d1 > d2 then
		d1 =		DateAdd("m", -1, d1)
		months =	months - 1
	End if

	days =		DateDiff("d", d1, d2)
	d1 =		DateAdd("d", days, d1)
	If d1 > d2 then
		d1 =		DateAdd("d", -1, d1)
		days =		days - 1
	End if

	hours =		DateDiff("h", d1, d2)
	d1 =		DateAdd("h", hours, d1)
	If d1 > d2 then
		d1 =		DateAdd("h", -1, d1)
		hours =		hours - 1
	End if

	minutes =	DateDiff("n", d1, d2)
	d1 =		DateAdd("n", minutes, d1)
	If d1 > d2 then
		d1 =		DateAdd("n", -1, d1)
		minutes =	minutes - 1
	End if

	timeString = ""
	If years > 1 then
		timeString =	timeString & years & " år "
	End if
	If months = 1 then
		timeString =	timeString & months & " månad "
	ElseIf months > 1 then
		timeString =	timeString & months & " månader "
	End if
	If days = 1 then
		timeString =	timeString & days & " dag "
	ElseIf days > 1 then
		timeString =	timeString & days & " dagar "
	End if
	If hours = 1 then 
		timeString =	timeString & hours & " timme " 
	ElseIf hours > 1 then
		timeString =	timeString & hours & " timmar " 
	End if
	If minutes = 1 then 
		timeString =	timeString & minutes & " minut" 
	ElseIf minutes > 1 then
		timeString =	timeString & minutes & " minuter" 
	End if

	GetTimeString =		timeString

End Function
250 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)