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() 函数是一个非常方便的时间戳转换函数,可以大大简化程序中与时间相关的操作。但需要注意的是,该函数只能解析特定格式的时间字符串,使用时需要注意。
