PHP strtotime()函数详解

PHP strtotime()函数详解

PHP strtotime()函数详解

在PHP中,strtotime()函数是一个非常有用的用于将人类可读的日期时间字符串转换为 Unix 时间戳的函数。Unix 时间戳是一个长整型值,表示从1970年1月1日0点0分0秒(格林尼治时间)开始经过的秒数。

语法

strtotime(string time [, intnow = time() ] ) : int|false

  • $time:要转换为 Unix 时间戳的日期时间字符串
  • $now:可选参数,用于指定一个基准时间,默认为当前时间

返回值

如果转换成功,则返回 Unix 时间戳,否则返回false.

示例

下面是一个简单的示例,展示了如何使用strtotime()函数将日期时间字符串转换为 Unix 时间戳:

<?php
dateString = "2023-10-15 15:30:00";timestamp = strtotime(dateString);

if(timestamp !== false){
    echo "日期时间字符串 'dateString' 转换为 Unix 时间戳为:timestamp";
} else {
    echo "转换失败";
}
?>

以上代码将输出:

日期时间字符串 '2023-10-15 15:30:00' 转换为 Unix 时间戳为:1694902200

使用示例

1. 转换常见日期时间格式

strtotime()函数支持转换许多常见的日期时间格式,例如:

  • 2023-10-15 15:30:00
  • next Thursday
  • +1 day
  • last day of next month
  • 2023-10-15T15:30:00Z(ISO 8601格式)
<?php
dateString1 = "2023-10-15 15:30:00";dateString2 = "next Thursday";
dateString3 = "+1 day";dateString4 = "last day of next month";

timestamp1 = strtotime(dateString1);
timestamp2 = strtotime(dateString2);
timestamp3 = strtotime(dateString3);
timestamp4 = strtotime(dateString4);

if(timestamp1 !== false){
    echo "日期时间字符串 'dateString1' 转换为 Unix 时间戳为:timestamp1";
}

if(timestamp2 !== false){
    echo "日期时间字符串 'dateString2' 转换为 Unix 时间戳为:timestamp2";
}

if(timestamp3 !== false){
    echo "日期时间字符串 'dateString3' 转换为 Unix 时间戳为:timestamp3";
}

if(timestamp4 !== false){
    echo "日期时间字符串 'dateString4' 转换为 Unix 时间戳为:timestamp4";
}
?>

2. 与其他日期时间函数结合使用

strtotime()函数通常与其他日期时间函数结合使用,例如date()函数,可以将 Unix 时间戳转换为指定格式的日期时间字符串。

<?php
timestamp = strtotime("2023-10-15 15:30:00");date = date("Y-m-d H:i:s", timestamp);

echo "Unix 时间戳timestamp 转换为日期时间字符串为:$date";
?>

注意事项

  • 在转换日期时间字符串时,遵循PHP的日期时间格式要求
  • 转换失败时,返回false,一定要进行错误处理
  • 如果需要将 Unix 时间戳转换为日期时间字符串,可以结合使用strtotime()date()函数

通过本文的介绍,相信您已经了解了strtotime()函数的用法和注意事项。在处理日期时间字符串时,strtotime()函数可以帮助您快速转换为Unix时间戳,方便进行时间计算和比较。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程