Home > Article > Backend Development > php strtotime function and example tutorial
strtotime(string $time[,int $now])int strtotime(string $time[,int $now] This function expects a date format containing US English, and will try to parse it into a Unix timestamp (how many seconds since Monday, January 1, 1970 00:00:00 in this format), relative to the timestamp provided now, or the current time if now is not provided
This function will use the TZ environment variable (if any) to calculate the timestamp, Since PHP 5.1.0 there is an easier way to determine the time zone used by all/datetime functions, this process is explained in the date_default_timezone_get() function page.
Parsed string, in PHP 5.0.0, Timestamps in microseconds are not allowed, since PHP 5.0.0 they are allowed but ignored.
Now which is used as a base to calculate relative dates using timestamps.
Return value: Returns a timestamp on success, otherwise returns FALSE , before PHP 5.1.0, this function will return failure -1.
Now let’s take a look at a function example that converts strtotime characters into time. The code is as follows:
//function
function nextWeeksDay ($date_begin,$nbrweek)
{
$nextweek=array();
for($i = 1; $i <= $nbrweek; $i++) { // 52 week in course one year of www. phpfensi.com
$nextweek[$i]=date('D d M Y', strtotime('+'.$i.' week',$date_begin));
}
return $nextweek;
}
/// end function
/// example of a select date
// var
$date_begin = strtotime('06-05-2010'); //D Day Month Year - like function format.
$nbrweek=52;
// call function
$result=nextWeeksDay($date_begin,$nbrweek);
// Preview
for($i = 1; $i <= $nbrweek; $ i++) {
echo '
- '.$result[$i];
}
?>
$str = 'Not Good';
// previous to PHP 5.1.0 you would compare with -1, instead of false if (($timestamp = strtotime($str)) === false) { echo "The string ($str) is bogus"; } else { echo "$str == " . date('l dS o F Y h:i:s A', $timestamp); } ?> < ?php echo strtotime("now"), " "; echo strtotime("10 September 2000"), " "; echo strtotime("+1 day"), " "; echo strtotime( "+1 week"), " "; echo strtotime("+1 week 2 days 4 hours 2 seconds"), " "; echo strtotime("next Thursday"), " "; echo strtotime( "last Monday"), " "; ?> This is a quick function to calculate "working days" during a year. "Working days" refers to those without weekends and holidays specified in the $array Holidays, the example code is as follows: function get_working_days($to_date) { $holidays = array( 1 => array(10), //2011 ... 2 => array(11), 3 => array(21), //... 2011 4 => array(29,30), //2010 ... 5 => array(3,4,5) , 6 => array(), 7 => array(19), 8 => array(11,12,13), 9 = > array(20,23), 10 => array(11), 11 => array(3,23),12 => array(23) //... 2010
);
for($to_date, $w = 0, $i = 0, $x = time(); $x < $to_date; $i++, $x = strtotime("+$i day")) {
if(date("N",$x) < 6 &! in_array(date("j",$x),$holidays[date("n",$x)])) $w++;//开源代码phpfensi.com
}
return $w;
}
//Usage:
echo get_working_days(strtotime("2011-01-08"));