PHP strtotime函数

PHP strtotime函数

PHP strtotime函数

1. 简介

PHP的strtotime()函数是一个用于将人类可读的日期时间字符串转换为UNIX时间戳的非常实用的函数。UNIX时间戳是指自格林威治时间1970年1月1日零时起至今的秒数。

strtotime()函数的语法如下:

strtotime(string time, intnow = time())
  • $time参数是需要转换的日期时间字符串。
  • $now参数是一个可选的基准时间,用于指定转换的参考点。

2. 用法示例

下面是一些常见的用法示例:

2.1 转换为UNIX时间戳

把一个日期时间字符串转换为UNIX时间戳,可以简单地使用strtotime()函数:

$time = "2022-01-01 00:00:00";
$timestamp = strtotime($time);

echo $timestamp;  // 输出:1640966400

2.2 相对日期时间转换

strtotime()函数支持很多相对日期时间字符串的转换。你可以使用例如”today”、”tomorrow”、”next week”等相对时间描述,将其转换为UNIX时间戳:

$timestamp = strtotime("today");
echo $timestamp;  // 输出:当前日期的00:00:00对应的UNIX时间戳

$timestamp = strtotime("tomorrow 10:00:00");
echo $timestamp;  // 输出:明天的10:00:00对应的UNIX时间戳

$timestamp = strtotime("next week");
echo $timestamp;  // 输出:下周的当前时刻对应的UNIX时间戳

2.3 相对日期时间加减

strtotime()函数还支持在相对时间字符串中使用”+”和”-“符号来进行加减操作。例如:

$timestamp = strtotime("+1 day");
echo $timestamp;  // 输出:当前时间加一天对应的UNIX时间戳

$timestamp = strtotime("-1 week");
echo $timestamp;  // 输出:当前时间减一周对应的UNIX时间戳

相对时间字符串还可以使用多个加减操作符进行连续计算,例如:

$timestamp = strtotime("+1 week -3 days");
echo $timestamp;  // 输出:当前时间加一周减三天对应的UNIX时间戳

2.4 自定义格式化日期时间字符串

strtotime()函数还支持自定义格式化日期时间字符串。以下是一些常见的用法:

2.4.1 使用点号分隔的日期格式

$time = "2022.01.01";
$timestamp = strtotime(str_replace(".", "-", $time));

echo $timestamp;  // 输出:1640966400

2.4.2 非标准日期时间格式

$time = "22/01/01 12:34:56";
$timestamp = strtotime(str_replace("/", "-", $time));

echo $timestamp;  // 输出:1641084896

2.4.3 自定义时间戳格式

$time = "1640966400";
$date = date("Y-m-d H:i:s", $time);

echo $date;  // 输出:2022-01-01 00:00:00

3. 注意事项

  • strtotime()函数对于日期时间字符串的格式要求相对宽松,但仍然需要符合常见的日期时间格式。
  • strtotime()函数的默认基准时间是当前时间(使用time()函数获取),如果想要根据不同的基准时间进行转换,需要显式传递第二个参数。
  • 对于部分非标准的日期时间格式,需要使用字符替换等方式进行预处理,以便正确转换。
  • strtotime()函数在解析无法转换的字符串时会返回false,因此在使用结果前要进行判断。

4. 总结

strtotime()函数是PHP中一个非常强大且实用的日期时间转换函数。它支持转换成UNIX时间戳、相对日期时间转换、相对日期时间加减、自定义格式化日期时间字符串等功能。使用它可以方便地处理各种日期时间的转换需求,为开发人员提供了很大的便利。

确保你对strtotime()函数的使用方法和注意事项有了充分的了解,并加以规范和应用,可以让你的日期时间处理更加灵活高效。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程