PHP provides functions that can easily convert various forms of dates into timestamps. The main functions of this type are:
The strtotime() function is used to convert the date represented by the English text string into a timestamp. It is the inverse function of date() and returns a timestamp successfully, otherwise it returns FALSE. Syntax:
int strtotime ( string time [, int now] )
The parameter time is the parsed string, which is the date represented according to the GNU date input format.
Example:
<?php echo strtotime("2009-10-21 16:00:10"); //输出 1256112010 echo strtotime("10 September 2008"); //输出 1220976000 echo strtotime("+1 day"), "<br />"; //输出明天此时的时间戳 ?>
The mktime() function is used to obtain a timestamp from a date and returns the timestamp successfully, otherwise it returns FALSE. Syntax:
int mktime(时, 分, 秒, 月, 日, 年)
Example:
<?php echo mktime(21, 50, 55, 07, 14, 2010); //输出“1279115455” ?>
Parameters can be omitted from right to left. Any omitted parameters will be set to the current value of the local date and time.
mktime() is useful for doing date calculations and validation, it will automatically calculate the correct value for out-of-range input. For example, the following example outputs 2008-01-01:
<?php echo date("Y-m-d", mktime(0, 0, 0, 12, 32, 2007)); echo date("Y-m-d", mktime(0, 0, 0, 13, 1, 2007)); ?>
The last day of next month. The last day of any given month can be represented as day "0" of the next month, rather than -1, as in the following example:
<?php $lastday = mktime(0, 0, 0, 3, 0, 2008); echo strftime("2008年最后一天是:%d", $lastday); // 2008年最后一天是:29 ?>
The following function has similar functions to strtotime.
<?php $date_str = "2011-09-11 17:00:00"; echo $time_str = str_format_time($date_str); function str_format_time($timestamp = '') { if (preg_match("/[0-9]{4}-[0-9]{1,2}-[0-9]{1,2} (0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])/i", $timestamp)) { list($date,$time)=explode(" ",$timestamp); list($year,$month,$day)=explode("-",$date); list($hour,$minute,$seconds )=explode(":",$time); $timestamp=gmmktime($hour,$minute,$seconds,$month,$day,$year); } else { $timestamp=time(); } return $timestamp; } echo '<br />'; echo date("Y-m-d H:i:s", $time_str); ?>