webForumDet fria alternativet

omvandla från sekunder till dagar, timmar, minuter, sekunder

PHP

3 svar · 950 visningar · startad av Picklezz

Medlem sedan jan. 2002414 inlägg
Frågan#1

När jag omvandlar 1212552 sekunder till dagar, timmar, minuter, sekunder så får jag "15 days 1 hours 49 minutes 12 seconds" med funktionen:

echo date("j \d\a\y\s G \h\o\u\\r\s i \m\i\\n\u\\t\e\s s \s\e\c\o\\n\d\s",$server_internet_since);

vilket är 1 dag för mycket, 1 timma för mycket, antagligen 1 minut för mycket och antagligen 1 sekund för mycket...

hur gör man detta rätt???

Alltså jag vet att det är 1 dag för mycket och att det är 1 timma för mycket...men min och sek orkar jag inte räkna på och det är inte heller dom som är viktigast...

Men det är väldigt irriterande att det blir en dag för mycket iallfall...

så någon som vet??
typ SPiN???? =)

Medlem sedan jan. 2002341 inlägg
#2

kan du inte barqa lägga in en -1 ? :)

Medlem sedan aug. 2002114 inlägg
#3

Med den tidne och den funktionen får jag ut:
15 15am7012 1 01ou 12 49 0149 u e12 12 12eco 1512

:)

Medlem sedan aug. 20002 975 inlägg
#4

Vad du gör med date-funktionen är att du lägger till antalet sekunder efter den 1/1 1970 kl 00:00:00.

14 dagar är alltså den 15:e och timmen beror på sommartid (eller så är det skillnaden mot GMT är inte riktigt säker).

Det kanske finns färdiga funktioner i PHP lämpade för att räkna ut sådant, men jag kan inte komma på något på raken. Ett sätt är att göra så här:

<?php
$timestamp = 1212552;

$dagar = floor($timestamp/86400);

$rest =$timestamp % 86400;

$timmar = floor($rest/3600);

$rest = $rest % 3600;

$minuter = floor($rest/60);

$sekunder = $rest % 60;

echo "$dagar dagar, $timmar timmar, $minuter minuter, $sekunder sekunder";
?>
262 ms totalt · 3 externa anrop · v20260731065814-full.f363f448
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)