[php] sec omzetten in weken,dagen,uren,min,sec

Pagina: 1
Acties:
  • 277 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02 12:38
Hoe doe ik dat php de antal seconden bijvoorbeeld "5341423 verandert in "8wks 5days 19hrs 43mins 43secs""
Ik moet dat hebben in mijn php scriptje :)

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 19-05 13:58

drm

f0pc0dert

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02 12:38
Inhoudsopgave
checkdate Valideer een gregoriaanse date/time
date Formateer een local time/date
getdate Verkrijg date/time informatie
gettimeofday Verkrijg de huidige tijd
gmdate Formatteer een GMT/CUT date/time
gmmktime Verkrijg UNIX timestamp voor een GMT date
gmstrftime Formatteer een GMT/CUT time/date volgens locale settings
localtime Verkrijg de local time
microtime Geef huidige UNIX timestamp met microseconden
mktime Verkrijg UNIX timestamp voor een date
strftime Formatteer een local time/date volgens de locale settings
time geef de huidige UNIX timestamp
strtotime Parse ongeveer elke engelse textuele datetime omschrijving naar een UNIX timestamp


welke moet ik dan hebben?

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

je weet toch hoeveel seconden er in een minuut zitten?
en in een uur? en in een dag? en in een week? en in een maand?(ok, is wat lastiger, neem gewoon 30 dagen, doet de bank ook) en in een (bank)jaar?

Punt 1: Deel dan je seconden door het aantal van de grootste factor. -> aantal van die factor (bijv jaar)
Punt 2: De rest is dan alles behalve die factor (bijv, maand, week, dag...)
Punt 3: Ga naar punt1 zolang je getal niet op 0 zit.

Acties:
  • 0 Henk 'm!

  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 06-06 23:24

Leef lekker in het nu, er is niks anders


Acties:
  • 0 Henk 'm!

  • Expander
  • Registratie: Februari 2001
  • Niet online
Gebruik de operator '%' daarbij..

Expanding the inexpandable


Acties:
  • 0 Henk 'm!

  • supersook
  • Registratie: Januari 2001
  • Laatst online: 01-05 14:42

supersook

Professioneel prutser

je kunt het ook zelf doen, gewoon een kwestie van een beetje rekenen, heb ik laatst ook moeten doen om de lengte van een mp3tje in seconden om te zetten naar minuten.

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 19-05 13:58

drm

f0pc0dert

Je hebt het toch over een UNIX-timestamp of niet?
De functie date, dus:
drm:
MANUAL |:(

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

zie

[topic=282085/1/50]

voor het idee..

Acties:
  • 0 Henk 'm!

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02 12:38
wat vind je van mijn scriptje?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function duration($tijd) {
$weeks = $tijd/604800;
$weeks = floor($weeks); 
$aantalsec = $weeks * 604800;
$tijd = $tijd - $aantalsec;
if ($weeks == "0") { $weeks = ""; } elseif ($weeks == "1") { $weeks = "1 wk"; } else { $weeks = "$weeks wks"; }

$days = $tijd/86400;
$days = floor($days); 
$aantalsec = $days * 86400;
$tijd = $tijd - $aantalsec;
if ($days == "0") { $days = ""; } elseif ($days == "1") { $days = "1 day"; } else { $days = "$days days"; }

$hrs = $tijd/3600;
$hrs = floor($hrs); 
$aantalsec = $hrs * 3600;
$tijd = $tijd - $aantalsec;
if ($hrs == "0") { $hrs = ""; } elseif ($hrs == "1") { $hrs = "1 hr"; } else { $hrs = "$hrs hrs"; }

$min = $tijd/60;
$min = floor($min); 
$aantalsec = $min * 60;
$tijd = $tijd - $aantalsec;
if ($min == "0") { $min = ""; } elseif ($min == "1") { $min = "1 min"; } else { $min = "$min mins"; }

if ($tijd == "0") { $tijd = ""; } elseif ($tijd == "1") { $tijd = "1 sec"; } else { $tijd = "$tijd secs"; }

return "$weeks $hrs $hrs $min $tijd";
}
?>

mooi he :)

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 19-05 13:58

drm

f0pc0dert

:{ *zucht*

Lees jij wel alle replies :?
en als je de functie dan toch zo graag wil schrijven:
restwaarde na deling, "modulo", "remainder" operator, oftewel : %
code:
1
2
3
4
$a = 5; // $a is integer

echo $a / 2; // 2
echo $a % 2; // 1

:O

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op donderdag 04 oktober 2001 11:38 schreef drm het volgende:
:{ *zucht*

Lees jij wel alle replies :?
Date() is toch de functie die het aantal 'vanaf' de epoch doet?

Dus niet noodzakelijkerwijs het verschil tussen 1 januari 2001 en 15 september 2003 ?
(dat zou met date(timestamp2 - timestamp1) iets van september 1973 worden ;) )[quoteen als je de functie dan toch zo graag wil schrijven:
restwaarde na deling, "modulo", "remainder" operator, oftewel : %
code:
1
2
3
4
$a = 5; // $a is integer

echo $a / 2; // 2
echo $a % 2; // 1

[/quote]
De remainder nemen is eigenlijk niet het handigst op die manier ;)
Aangezien je toch al weet hoeveel eraf gaat (want je weet hoeveel jaren enzo eraf gaan) kan je beter met een simpele vermenigvuldig operatie (x*seconden_van_jaar) de boel eraf halen (tenminste, als je het echt snel wilt :P verder maakt het weinig uit)

Acties:
  • 0 Henk 'm!

  • DolleDries
  • Registratie: Oktober 2000
  • Laatst online: 06-11-2024
Wellicht een beetje overkill,
maar uitgebreider dan dit kan ik het niet vertellen. :P

http://www.tondering.dk/claus/cal/node3.html#SECTION00350000000000000000

Have fun with the math...

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 19-05 13:58

drm

f0pc0dert

ACM:
Date() is toch de functie die het aantal 'vanaf' de epoch doet?
Klopt... O-)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?
$timeSteps = array (
   "s" => 1,
   "m" => 60,
   "h" => 60*60,
   "d" => 60*60*24,
   "w" => 60*60*24*7,
   "y" => 60*60*24*7*365
);

$timeValues = array (
   "s" => 0,
   "m" => 0,
   "h" => 0,
   "d" => 0,
   "w" => 0,
   "y" => 0
);


foreach ( array_keys ( $timeSteps ) as $step )
{
   $timeValues [ $step ] = $time / $timeSteps [ $step ];
   $time %= $timeSteps [ $step ];
// of $time -= $timeValues [ $step ]; 
// ;) @ ACM
   if ( $time == 0 )
      break;
}
// en printen of returnen ofzo die zooi
?>

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1