Hallo,

Kan iemand mij helpen.
Ik moet een scriptje hebben.

Die afteld naar een bepaalde datum.
Dat als je op site komt, dat er komt te staan:

Nog XX dagen te gaan
Als die datum gepasseerd is, dat er dan staat.

Het is nu al XX dagen XX uur en XX minuten begonnen.

Maar dan zit ik nog met 1 probleem. Dat laatste, moet hij als het kan elke 8 uur, 15min stil zetten.
Dus na 8 uur moet die tijd 15 min stil blijven staan.
Wat ook mag is, dat hij doorteld tot 8:15, en hem terug zet naar 8 uur, en bij 16:15 terug zet naar 16 uur.

Alvast heel erg bedankt.

p.s. ik weet niet veel van php!

Tjeerd
ja countdown lukt mij nog wel via javascript maar het optellen dus vanaf 22-juni-2005/09:00 dat lukt mij dan totaal niet.
Mag ook wel een apart script zijn, dat ik deze gewoon laat staan die ik heb (countdown), en dat ik dan op 22 juni smorgens een tijdteller upload.

Maar dan moet hij dus elke 8 uur 15 min op pauze, of elke 8:15 15minuten terug gezet worden.

Ik weet niet of het makkelijker word ofzo, maar 8 uur is 1/3 van een dag?
nee.

Het is wel wat ik zoek, maar je kan daar niet instellen dat je elke 8 uur 15 minuten pauze hebt...

Dus als tijdens het record er 15 minuten pauze is, dan teld de counter gewoon door....
<?php
function timecounter($start, $periodLenght, $breakLength) {
$now = time();
if ($now < $start) {
$timestamp = mktime(date('H', $start), date('i', $start), date('s', $start), date('m'), date('d'), date('Y'));
$days = (($start - $timestamp) / 86400);
$textDays = $days == 1 ? 'dag' : 'dagen';
$output = 'Nog '.$days.' '.$textDays.' te gaan!';
}
else {
$difference = ($now - $start);
$breaks = floor(($difference / $periodLenght));
$difference += (-1 * $breakLength * $breaks);
$days = floor($difference / 86400);
$difference += (-86400 * $days);
$hours = floor($difference / 3600);
$difference += (-3600 * $hours);
$minutes = floor($difference / 60);
$textDays = $days == 1 ? 'dag' : 'dagen';
$textMinutes = $minutes == 1 ? 'minuut' : 'minuten';
$textBreaks = $breaks == 1 ? 'pauze' : 'pauzes';
$output = 'Al '.$days.' '.$textDays.', '.$hours.' uur en '.$minutes.' '.$textMinutes.' bezig, met tussendoor '.$breaks.' '.$textBreaks;
}
return $output;
}
echo timecounter(mktime(12, 00, 00, 4, 12, 2005), (8 * 60 * 60), (15 * 60));
// Output: Al 12 dagen, 4 uur en 6 minuten bezig, met tussendoor 37 pauzes
?>

En nee idd, ik had geen zin om het overzichtelijk te maken :P Korte toelichting want ik wil gaan slapen :) :

timecounter($start, $periodLenght, $breakLength);
$start = timestamp van de startdatum, ik maak hem met mktime, mag je zelf weten wat je daar in mikt als het maar een timestamp is
$periodLenght = aantal seconden tussen een pauze, in jouw geval dus 8 * 60 * 60
$breakLength = aantal seconden dat een pauze duurt, in jouw geval dus 15 * 60

Als $start later is dan nu vertelt het script hoeveel dagen het nog is tot aan $start (dat kan 0 zijn als het dezelfde dag is).
Als $start eerder is dan nu vertelt het script dus wat je vroeg, het aantal dagen/uren/minuten sinds $start rekening houdend met pauzes van $breakLength seconden om de $periodLenght seconde.

Hopelijk lukt het hiermee :)
je weet niet hoe erg blij ik ben.

Ik vind het erg tof dat iemand dit gewoon doet voor iemand anders. Vind dat de users op dit forum erg behulpzaam zijn!

THNX
Hallo mensen,

Dit is ongeveer wat ik nu ook zoek alleen iets simpeler. Ik heb een script nodig dat het aantal dagen, maanden en jaren vanaf een bepaalde datum telt.

Dus bijvoorbeeld : tellen vanaf 07-11-2004 = xx dagen xx maanden en xx jaar

Dit moet ik perse in php hebben omdat ik het verder ga verwerken in een script en het werkt niet als ik een client side script ga gebruiken.

Kan iemand mij helpen plz?
Staat toch al een script?
Ja er staat wel een script alleen is dat een andere functie dan wat ik net vroeg
trouwens heb toch nog ff een vraagje, denk niet dat het erg veel werk is, maar is er nog een mogelijkheid, dat als de datum verstreken is zeg maar, hij het niet zo weergeeft:

1 dag 3 uur en 5 min

maar zo weergeeft:

15 uur en 5 min


en b.v. na 3 dagen:

39 uur en 5 min

Reageren