Dělá se to tak, že datum a čas se převede na unixovský formát, což je prosté číslo - počet vteřin vztažený k 1.1.1970. Z obecného data se vytvoří funkcí
mktime.
Kód:
$timestamp = mktime($month, $day, $year)
Od tohoto čísla můžeš jednoduše přičíst nebo odečíst jakýkoliv interval, přepočtený na sekundy (10dní = 864000sekund).
Výsledek opět převedeš na řetězec tebou vzpomínanou funkcí
date( string $format [, int $timestamp ] ). Tato funkce sama zjistí všechny kalendářové operace - přechody mezi měsíci a roky, ošetření přestupného roku atd.