webForumDet fria alternativet

minuter till hh:mm:ss

ASP

6 svar · 902 visningar · startad av peppar

Medlem sedan dec. 2001873 inlägg
Frågan#1

har ett fält i en databas som accumulerat samlar minuter. Men får inte till en funktion som kan skriva ut fältvärdet till formatet HH:MM:SS

Kan någon hjälpa mig med detta?

Medlem sedan dec. 2001873 inlägg
#2

PHP formen för detta är

.formatTimeH($timePlayed.'000',false);

men ASP är lite värre... :/

Medlem sedan jan. 2005953 inlägg
#3

Det var alldeles för länge sedan jag sysslade med ASP för att jag ska kunna skriva denna funktion åt dig, men eftersom du verkar vara insatt i PHP kanske du lyckas översätta följande PHP-kod:

<?php
$seconds = 7645;

$h = floor($seconds / (60*60));
$r = $seconds % (60*60);
$m = floor($r / 60);
$s = $r % 60;
echo $seconds, ' sekunder blir ', sprintf('%d:%02d:%02d', $h, $m, $s);
?>

Edit:
Såg nu att det var minuter du utgick ifrån... varför vill du då visa sekunder? Nåja... hoppas koden hjälper dig iaf :)

Medlem sedan dec. 2001873 inlägg
#4

Mitt fel,

det skall naturligtvis vara sekunder som det skall räknas utifrån. Men om jag gör såhär:

m = rs("timeplayed") / 60
h = m / 60

säg att rs("timeplayed") innehåller värdet = 134261
så får jag i retur = 37,2947222222222

hur konverterar jag detta till hh:mm:ss ? finns det någon date funktion för detta?

Medlem sedan dec. 20025 871 inlägg
#5

Du kan använda dig av TimeSerial()-funktionen. Ex:

Response.Write(TimeSerial(0, 0, 3600)) '// Returnerar 01:00:00
Medlem sedan jan. 2005953 inlägg
#6

Efter att ha Googlat hittade jag denna, hoppas den funkar, har inte stöd för ASP på mina burkar så jag har inte kunnat testa.

http://www.dotnetindex.com/articles/3110_Converting_sceonds_to_hours_minutes_and_seconds.asp

Medlem sedan dec. 2001873 inlägg
#7

Fick ihop en ganska klantig historia till slut men det funkar för lite tester...

do until rs.eof
sec = 0
hours = 0
min = 0

sec = rs("timePlayed")

do until sec <= 3600
	if sec >=3600 then
		sec = sec - 3600
		hours = hours +1
	else
	end if
loop

do until sec <= 60
	if sec >= 60 then
		sec = sec - 60
		min = min +1
	else
	end if
loop
245 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)