[ SashaM @ 30.11.2005. 14:22 ] @
Posto nigde nisam uspeo da nadjem funkciju koja dodaje odredjen broj dana (meseci, godina) datom datumu napisao sam svoju pa je postavljam ovde ako jos nekom zatreba.

Input i output datuma je u formatu yyyy-mm-dd ili yyyy-m-d kako bi bio kompatibilan sa MySQL poljem za datum. Naravno, lako se moze izmeniti da se datum unese i vrati u bilo kom obliku.

Code:

function date_add_days($date, $days)
{
    $arrDate = explode ("-", $date);

    $intDay = $arrDate[2];
    $intMonth = $arrDate[1];
    $intYear = $arrDate[0];
    
    $intDateJul = gregoriantojd($intMonth, $intDay, $intYear);
    
    $intDateJul += $days;
    
    $arrDate = explode ("/", JDToGregorian($intDateJul));
    
    return date("Y-m-d",mktime(0, 0, 0, $arrDate[0],$arrDate[1],$arrDate[2]));
}


Zbog ogranicenja mktime funkcije ne moze se manipulisati datumom pre 1.1.1970.

Code:

echo date_add_days("2004-2-27", 3).' '.date_add_days("2005-2-27", 3);


Dati primer pokazuje da se dobro snalazi sa prestupnim godinama.

Eto, pa ako nekom zatreba neka je slobodno iskoristi u originalnom ili izmenjenom obliku.

Pozdrav

[Ovu poruku je menjao SashaM dana 30.11.2005. u 15:26 GMT+1]
[ The Sekula @ 01.12.2005. 15:32 ] @
http://yu.php.net/strtotime

strtotime
(PHP 3 >= 3.0.12, PHP 4, PHP 5)

strtotime -- Parse about any English textual datetime description into a Unix timestamp

Description
int strtotime ( string time [, int now] )

Example
echo strtotime("+1 day");