Взгляните на strtotime :
<?php
$now = time();
printf("%20s : %s\n", 'now', date('Y-m-d H:i:s', $now));
foreach( array("tomorrow", "+ 3 days","3 months 30 days","march 30, 2011") as $userinput ) {
$ts = strtotime($userinput, $now);
printf("%20s : %s\n", $userinput, date('Y-m-d H:i:s', $ts));
}
отпечатков
now : 2010-08-08 09:44:49
tomorrow : 2010-08-09 00:00:00
+ 3 days : 2010-08-11 09:44:49
3 months 30 days : 2010-12-08 09:44:49
march 30, 2011 : 2011-03-30 00:00:00