PHP内置时间函数strtotime()语法用法和实例代码
- 2022年10月16日
- 1,385 次
strtotime()函数是将任何字符串的日期时间描述解析为Unix时间戳的PHP内置函数,strtotime()函数预期接受一个包含美国英语日期格式的字符串并尝试将其解析为Unix时间戳(自1970 00:00:00 UTC 起的秒数),其值相对于now参数给出的时间,如果没有提供now参数则用系统当前时间。
strtotime()函数语法
strtotime(string $datetime, int $now = time()): int
在文章开头已经简单介绍了strtotime()函数语法,个人理解就是将字符串式的时间格式解析或者说是转换成Unix时间戳格式,而strtotime()函数内必须写入的是一个时间字符串,写入的如果不是字符串就会报错。
strtotime()函数用法实例
1、字符串now
<?php
$now_time = strtotime('now');
echo '输出现在的时间戳是:'.$now_time.'<br>';
?>
在strtotime()函数内使用now字符串输出的就是现在的时间戳。
<?php
$now_time = strtotime('now');
echo '输出现在的时间戳是:'.$now_time.'<br>';
echo date('Y-m-d H:i:s',$now_time).'<br>';
?>
使用date时间函数将strtotime()函数转换为年月日时分秒的时间格式。
2、具体年月日时间转化为时间戳
<?php
$now_time = strtotime('now');
echo '输出现在的时间戳是:'.$now_time.'<br>';
echo date('Y-m-d H:i:s',$now_time).'<br>';
echo strtotime('30 February 2022'), '<br>';
echo date('Y-m-d H:i:s',strtotime('30 February 2022')).'<br>';
echo strtotime('30 2 2022'), '<br>';
echo date('Y-m-d H:i:s',strtotime('30 2 2022')).'<br>';
?>
在上面实例代码中我向strtotime()函数中传入了一个2022年2月30日的时间,这明显是个错误的时间,执行后显示的是2022年3月2日零时零分零秒的时间,当我在strtotime()函数中传入30 2 2022的时候,应该返回的是个布尔值为假,而用date函数转换最后显示的则是1970-01-01 08:00:00的时间。
3、当前时间戳追加
当前时间追加秒、分、时、天、周、月、年,分别用英文的seconds、minutes、hours、day、week、month、year来追加,同时还支持连续的追加这些单位的综合写法。以下是在当前时间戳下追加时间的实例:
<?php
$now_time = strtotime('now');
echo '输出现在的时间戳是:'.$now_time.'<br>';
echo date('Y-m-d H:i:s',$now_time).'<br>';
echo strtotime('30 February 2022'), '<br>';
echo date('Y-m-d H:i:s',strtotime('30 February 2022')).'<br>';
echo strtotime('30 2 2022'), '<br>';
echo date('Y-m-d H:i:s',strtotime('30 2 2022')).'<br>';
echo strtotime('+1 day'),'<br>';
echo strtotime('+1 week'),'<br>';
echo strtotime('+1 week 2month 1year'),'<br>';
echo '当前时间2022年10月16日戳追加1年2个月1周的时间:'.date('Y-m-d H:i:s',strtotime("+1 week 2month 1year")).'<br>';//
echo strtotime('+1 week 2 days 4 hours 2 seconds'),'<br>';
?>
strtotime("+1 week 2month 1year")就是在当前时间戳2022年10月16日前提下追加1年2个月1周的时间戳,最后将这个追加的时间戳转换成年月日时分秒的时间戳输出后就是2023年12月23日的时间。
4、当前时间戳追加之前或者之后的某一天
在PHP官方手册中列举的有这样的两个栗子:
<?php
echo strtotime("next Thursday"), "\n";//当前时间戳的下周四时间戳
echo strtotime("last Monday"), "\n";//当前时间的上周一时间戳
?>
使用了next和last来表达当前时间戳之后和之前来追加时间戳。
<?php
$now_time = strtotime('now');
echo '输出现在的时间戳是:'.$now_time.'<br>';
echo date('Y-m-d H:i:s',$now_time).'<br>';
echo strtotime('30 February 2022'), '<br>';
echo date('Y-m-d H:i:s',strtotime('30 February 2022')).'<br>';
echo strtotime('30 2 2022'), '<br>';
echo date('Y-m-d H:i:s',strtotime('30 2 2022')).'<br>';
echo strtotime('+1 day'),'<br>';
echo strtotime('+1 week'),'<br>';
echo strtotime('+1 week 2month 1year'),'<br>';
echo '当前时间2022年10月16日戳追加1年2个月1周的时间:'.date('Y-m-d H:i:s',strtotime("+1 week 2month 1year")).'<br>';//
echo strtotime('+1 week 2 days 4 hours 2 seconds'),'<br>';
echo date('Y-m-d H:i:s',strtotime('next year')),'<br>';
echo date('Y-m-d H:i:s',strtotime('last hours')),'<br>';
?>
成功在当前时间戳下追加了之后一年和之前一个小时的时间戳然后又转换为年月日时分秒的时间格式。
strtotime()函数使用起来还是十分方便和智能的,以上就是笔者在学习strtotime()函数总结的用法和实例中展示的strtotime()函数的代码块。
若非作者标注皆为李涛自留地原创文章,转载或复制请以超链接形式并注明出处。
- PHP常用字符串函数分割与合并字符串函数用法及实例 2022-11-10
- 使用PHP简单制作一个图片上传功能的页面 2022-11-19
- ZblogPhp主题幻灯片轮播制作教程 ZblogPhp主题幻灯片制作插件版 2022-10-12
- PHP如何向文件中写入字符串内容 PHP向文件中写入字符串内容的函数 2022-11-09
- PHP concat() 函数详解:字符串拼接的 N 种方法 2026-06-30
- PHPstudy中查看是否开启GD库 PHPstudy开启GD图形库的方法 2022-11-20
