欢迎访问宙启技术站
智能推送

PHP函数速成:使用strtotime()转换时间戳

发布时间:2023-05-28 23:29:40

在 PHP 中,时间戳指的是自1970年01月01日0时0分0秒以来的秒数。它是计算机中记录时间的一种方式,可以很方便地在程序中处理时间相关的操作。在实际开发中,有很多场景需要将人类可读的时间格式(例如“2021-09-20 18:30:00”)转换为时间戳或将时间戳转换为人类可读的时间格式。PHP中有很多函数可以完成这个转换,其中一个比较常用的函数是strtotime()。

strtotime()函数的语法格式如下:

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

该函数可将任何字符串转换为 Unix 时间戳。这个函数首先尝试把 $time 参数转换为 Unix 时间戳(也就是自1970年1月1日以来的秒数)。如果成功,它将返回 Unix 时间戳;否则,它将返回 false。

下面是一些 strtotime() 函数的使用实例:

实例1:将人类可读的时间格式转换为时间戳

$timeStr = "2021-09-20 18:30:00";
$timestamp = strtotime($timeStr);
echo $timestamp; // 输出1632144600

实例2:将时间戳转换为人类可读的时间格式

$timestamp = time(); // 获取当前时间戳
$timeStr = date("Y-m-d H:i:s", $timestamp);
echo $timeStr; // 输出类似“2021-09-20 18:45:00”的字符串

需要注意的是,strtotime() 函数只能解析一些特定格式的字符串。比如,它可以解析“2021-09-20 18:30:00”这样的字符串,但是无法解析“2021年9月20日18点30分”这样的字符串。下面是strtotime() 函数可以解析的一些常见字符串格式:

$str1 = "now";                        // 当前时间
$str2 = "10 September 2021";          // 英文日期格式
$str3 = "2021-09-20";                 // 年月日格式
$str4 = "2021-09-20 18:30:00";        // 年月日时分秒格式
$str5 = "+1 day";                     // 在现在时间的基础上加1天
$str6 = "next Monday";                // 下一个周一的时间
$str7 = "last day of this month";     // 本月最后一天的时间

综上所述,strtotime() 函数是一个非常方便的时间戳转换函数,可以大大简化程序中与时间相关的操作。但需要注意的是,该函数只能解析特定格式的时间字符串,使用时需要注意。