dagen optellen en aftrekken van datum

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Karel

karel

12/03/2007 13:23:00
Quote Anchor link
Om een bepaald aantal dagen op te tellen bij een bepaalde datum heb ik het volgende gedaan;

$etd = explode("-", $_POST["ipr_dtetd"]);
$ipr_dtetd = $etd[1]."-".$etd[0]."-".$etd[2];

$ipr_dteta = strtotime ("+30 days", $ipr_dtetd);

Ik heb in een tut op deze site gezien dat dat zo zou kunnen? Met dit krijg ik echter als resultaat dat de waarde van $ipr_dteta "2592003" is. Weet iemand hoe ik dit wel goed moet doen?
 
PHP hulp

PHP hulp

22/12/2024 19:53:10
 
Robert Deiman

Robert Deiman

12/03/2007 13:26:00
Quote Anchor link
$time = mktime(0, 0, 0, date('m'), date('d')+30, date('Y'));
 
Bart van der veen

bart van der veen

12/03/2007 13:33:00
Quote Anchor link
je kunt geloof ik ook iets doen met string to time, maar dat moet je maar ff googelen, maar dan van robert werkt waarschijnlijk ook prima.
 
Joren de Wit

Joren de Wit

12/03/2007 13:44:00
Quote Anchor link
De tweede parameter van de strtotime() functie moet wel een timestamp zijn.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$datum
= '12-03-2007';
$time = strtotime($datum);

$time_plus_30 = strtotime('+ 30 days', $time);
$datum_plus_30 = date('d-m-Y', $time_plus_30);
?>

Maar de manier van Robert werkt net zo goed...
 
Karel

karel

12/03/2007 14:18:00
Quote Anchor link
Bedankt, ik ga er even mee aan de slag
 
Karel

karel

12/03/2007 16:47:00
Quote Anchor link
het is nu wel gelukt met het volgende;

$etd = explode("-", $_POST["ipr_dtetd"]);
$ipr_dtetd = $etd[1]."-".$etd[0]."-".$etd[2];

$date = ($_POST["ipr_dtetd"]);
$time = strtotime($date);

$eta = strtotime('+ 30 days', $time);
$ipr_dteta = date('d-m-Y', $eta);

$eta = explode("-", $ipr_dteta);
$ipr_dteta = $eta[1]."-".$eta[0]."-".$eta[2];

maar dat lijkt me erg omslachtig en aangezien ik zo de deadlines voor nog 16 andere taken moet berekenen lijkt me wel enorm veel. Hoe schrijf ik dit zo klein mogelijk?
 
Jan

Jan

02/04/2007 10:14:00
Quote Anchor link
Dit werkt ook. Simpel, maar het werkt at least!

$date = date ('d-m-Y');
$dag = substr($date,0,2);
$maand = substr ($date,3,2);
$jaar = substr($date,6,4);
$date2 = mktime (0,0,0,$maand, $dag, $jaar);
$date3 = $date2 + 518400;
$date4 = date ("d-m-Y", $date3);
 
Jan Koehoorn

Jan Koehoorn

02/04/2007 10:43:00
Quote Anchor link
karel schreef op 12.03.2007 13:23:
Om een bepaald aantal dagen op te tellen bij een bepaalde datum heb ik het volgende gedaan;

$etd = explode("-", $_POST["ipr_dtetd"]);
$ipr_dtetd = $etd[1]."-".$etd[0]."-".$etd[2];

$ipr_dteta = strtotime ("+30 days", $ipr_dtetd);

Ik heb in een tut op deze site gezien dat dat zo zou kunnen? Met dit krijg ik echter als resultaat dat de waarde van $ipr_dteta "2592003" is. Weet iemand hoe ik dit wel goed moet doen?

Dat klopt. strtotime levert namelijk een timestamp op. Die zou je nog met strftime in een leesbare datum om moeten zetten;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
    $etd
= explode("-", $_POST["ipr_dtetd"]);
    $ipr_dtetd = $etd[1]."-".$etd[0]."-".$etd[2];
    $ipr_dteta = strtotime ("+30 days", $ipr_dtetd);
    $leesbare_datum = strftime ('%d-%m-%Y', $ipr_dteta);
?>

In MySQL zou je dit trouwens veel gemakkelijker kunnen doen. Die heeft een veel uitgebreidere set functies om met datums en tijden te kunnen rekenen.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.