php strtotime()函数时间日期转换
在php中strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳,这个函数也是我们经常会用到的,有需要的朋友参考一下.
语法:strtotime(time,now)
参数 描述
time 规定要解析的时间字符串.
now 用来计算返回值的时间戳,如果省略该参数,则使用当前时间.
例子,代码如下:
- <?php
- echo(strtotime("now"));
- echo(strtotime("3 October 2005"));
- echo(strtotime("+5 hours"));
- echo(strtotime("+1 week"));
- echo(strtotime("+1 week 3 days 7 hours 5 seconds"));
- echo(strtotime("next Monday"));
- echo(strtotime("last Sunday"));
- ?>
- //输出:
- 1138614504
- 1128290400
- 1138632504
- 1139219304
- 1139503709
- 1139180400
- 1138489200
Example #1 strtotime() 例子,代码如下:
- <?php
- echo strtotime("now"), "n";
- echo strtotime("10 September 2000"), "n";
- echo strtotime("+1 day"), "n";
- echo strtotime("+1 week"), "n";
- echo strtotime("+1 week 2 days 4 hours 2 seconds"), "n";
- echo strtotime("next Thursday"), "n";
- echo strtotime("last Monday"), "n";
- ?>
Example #2 失败检查,代码如下:
- <?php
- $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 of F Y h:i:s A', $timestamp);
- }
- ?>
- I just found out PHP thinks slashes in date-formats aren't very european:
- (I guess this is not a bug, just the way it works. But correct me if I'm wrong.)
- <?php
- $date = "06/10/2011 14:28"; // 6 october 2011 2:28 pm
- $otherDate = "06-10-2011 14:28"; // 6 october 2011 2:28 pm
- echo $stamp = strtotime($date) . "<br />"; // outputs 1307708880
- echo $otherStamp = strtotime($otherDate) . "<br />"; // outputs 1317904080//开源代码phpfensi.com
- echo date("d-m", $stamp); // outputs 10-06
- echo date("d-m", $otherStamp); // outputs 06-10
- ?>