PHP函数:使用strtotime()将日期字符串转换为Unix时间戳
发布时间:2023-07-04 09:51:00
strtotime()是PHP中的一个内置函数,用于将日期字符串转换为Unix时间戳。Unix时间戳表示从1970年1月1日00:00:00 GMT到指定日期时间的秒数。
strtotime()函数接受一个日期时间字符串作为参数,并返回对应的Unix时间戳。
使用strtotime()函数的基本语法如下:
int strtotime ( string $time [, int $now = time() ] )
其中$time是表示日期时间的字符串,$now是可选参数,表示基准时间。如果省略$now参数,则使用当前时间作为基准时间。
以下是一些使用strtotime()函数的示例:
1. 将日期字符串转换为Unix时间戳:
$dateString = "2022-01-01 10:00:00"; $timestamp = strtotime($dateString); echo $timestamp; // 输出:1641022800
2. 将当前时间转换为Unix时间戳:
$timestamp = strtotime("now");
echo $timestamp; // 输出当前时间的Unix时间戳
3. 将相对时间字符串转换为Unix时间戳,如"tomorrow"表示明天,"+1 week"表示一周后:
$timestampTomorrow = strtotime("tomorrow");
$timestampNextWeek = strtotime("+1 week");
echo $timestampTomorrow; // 输出明天的Unix时间戳
echo $timestampNextWeek; // 输出一周后的Unix时间戳
4. 结合strtotime()和date()函数,将Unix时间戳转换为格式化日期字符串:
$timestamp = time(); // 当前时间的Unix时间戳
$dateString = date("Y-m-d H:i:s", $timestamp);
echo $dateString; // 输出:当前时间的格式化日期字符串
需要注意的是,strtotime()函数对于不同格式的日期时间字符串的解析结果有所差异。一些常见的日期时间格式可以直接被strtotime()函数解析,如"Y-m-d H:i:s"、"Y年m月d日"等。对于一些特殊格式的日期时间字符串,解析结果可能不如预期,因此在使用strtotime()函数时需要谨慎处理。
