首页 > 编程笔记 > PHP笔记 阅读:46

PHP strtotime():从字符串中提取时间日期

PHP strtotime() 函数有两种用法:一种是将字符串形式的、用英文文本描述的日期时间解析为 UNIX 时间戳,一种是用来计算一些日期时间的间隔。

从字符串中解析日期时间

PHP strtotime() 函数可将英文文本描述的日期时间描述解析为 UNIX 时间戳,语法如下:

int strtotime ( string $time [, int $now = time() ] )

参数说明:
返回值:执行成功则返回时间戳,否则返回 false。

strtotime() 函数的使用示例如下:
<?php
echo strtotime("now"), "<br />";
echo strtotime("10 September 2000"), "<br />";
echo strtotime("+1 day"), "<br />";
echo strtotime("+1 week"), "<br />";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "<br />";
echo strtotime("next Thursday"), "<br />";
echo strtotime("last Monday"), "<br />";
?>
执行以上程序打印出来的结果类似:

1572597225
968515200
1572683625
1573202025
1573389227
1573056000
1572192000

日期的加减运算

有时我们需要在一个日期上加减一定的时间间隔。可以使用 strtotime() 来计算一些日期时间间隔。示例如下:
<?php
$start = 'last Monday';
$interval = strtotime("$start + 4 days");
echo "现在\$interval 表示上周的" . date('l',$interval);
?>
执行以上程序的输出结果为:

现在 $interval 表示上周的 Friday。


如果日期使用时间戳表示,并且时间间隔也可用秒来表示,就可以从时间戳中减去时间间隔。示例如下;
<?php
$start = time();
echo date('Y-m-d',$start) , "<br />";
$interval = 7 * 24 * 3600;  //一周
$end = $start - $interval;
echo date('Y-m-d',$end);
?>
执行以上程序的输出结果为:

2019-10-31
2019-10-24

前后两个日期正好相差 7 天。

编程帮,一个分享编程知识的公众号。跟着站长一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

文章不深奥,不需要钻研,在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「编程帮」,你已然超越了90%的程序员!

编程帮二维码
微信扫描二维码关注

所有教程

优秀文章