PHP中的strtotime函数的用法及实例详解
发布时间:2023-06-29 13:46:53
strtotime()函数是PHP中用来将人类可读的日期时间字符串转换为Unix时间戳的函数。它非常有用,可以在日期和时间的计算、比较以及格式化等方面提供便利。
函数语法: strtotime(string $time, int $now)
- $time: 必需,表示要转换为Unix时间戳的日期时间字符串。
- $now: 可选,表示时间戳的参考点,默认为当前时间。
返回值: 返回表示给定日期时间字符串的Unix时间戳,如果转换失败则返回false。
应用实例:
1. 将日期时间字符串转换为Unix时间戳:
$timestamp = strtotime('2022-01-01 12:00:00');
echo $timestamp;
输出:1641024000
2. 计算两个日期之间的天数差:
$date1 = '2022-01-01'; $date2 = '2022-01-10'; $timestamp1 = strtotime($date1); $timestamp2 = strtotime($date2); $daysDiff = ($timestamp2 - $timestamp1) / (60 * 60 * 24); echo $daysDiff;
输出:9
3. 根据日期字符串获取星期几:
$date = '2022-01-01';
$timestamp = strtotime($date);
$weekday = date('l', $timestamp);
echo $weekday;
输出:Saturday
4. 相对于当前时间,计算指定时间之后的日期时间:
$time = strtotime('+1 week');
$dateTime = date('Y-m-d H:i:s', $time);
echo $dateTime;
输出:2022-08-24 19:35:18(以当前时间为准)
5. 获取与当前时间相差指定秒数的未来或过去的时间:
$secondsDiff = 3600; // 相差1小时
$time = strtotime("+{$secondsDiff} seconds");
$dateTime = date('Y-m-d H:i:s', $time);
echo $dateTime;
输出:2022-08-24 20:35:18(以当前时间为准)
需要注意的是,strtotime()函数对日期时间字符串有一定的限制,不能处理所有格式的日期时间字符串。另外,由于strtotime()函数使用的是Unix时间戳,所以它的范围是有限的,最小值为1970年1月1日,最大值在2038年之前。
