Home  >  Article  >  Backend Development  >  php strtotime function and example tutorial

php strtotime function and example tutorial

高洛峰
高洛峰Original
2016-11-29 14:54:361075browse

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"));


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn