PHP函数:strtotime(),实现字符串转时间戳
strtotime() 函数是 PHP 中一个非常常用的日期时间处理函数,它可以将一个格式化的日期时间字符串转换为 UNIX 时间戳。下面将详细介绍 strtotime() 函数的使用和其相关注意事项。
一、strtotime() 函数的基本语法:
strtotime(string $time, [int $now = time()]) : int|false
该函数接受一个字符串参数 $time,表示要转换的日期时间字符串。可选参数 $now 表示当前的时间戳,默认为当前时间。
函数返回一个整数类型的时间戳。转换失败时,返回 false。
二、strtotime() 函数支持的日期时间字符串格式:
strtotime() 函数支持形如 "YYYY-MM-DD HH:MM:SS" 的日期时间字符串。常用的日期时间格式有以下几种:
1. "YYYY-MM-DD" 表示日期,例如 "2022-01-01"。
2. "HH:MM:SS" 表示时间,例如 "12:30:45"。
3. "YYYY-MM-DD HH:MM:SS" 表示日期时间,例如 "2022-01-01 12:30:45"。
4. "now" 表示当前时间。
5. "tomorrow" 表示明天的当前时间。
6. "+1 day" 表示明天的当前时间。
7. "-1 day" 表示昨天的当前时间。
除上述格式外,strtotime() 函数还可以处理其他相对时间字符串,例如 "last day of next month"、"first day of last month" 等。
三、strtotime() 函数的使用示例:
下面是一些使用 strtotime() 函数的示例:
示例 1:将日期时间字符串转换为时间戳。
$dateString = "2022-01-01 12:30:45"; $timeStamp = strtotime($dateString); echo $timeStamp; // 输出:1641001845
示例 2:使用当前时间作为基准,将相对时间字符串转换为时间戳。
$relativeTimeString = "+1 day"; $timeStamp = strtotime($relativeTimeString); echo $timeStamp; // 输出:1641073425
示例 3:将相对时间字符串转换为时间戳,并指定基准时间。
$now = strtotime("2022-01-01");
$relativeTimeString = "+1 week";
$timeStamp = strtotime($relativeTimeString, $now);
echo $timeStamp; // 输出:1641628800
注意事项:
1. strtotime() 函数对于无法解析的日期时间字符串会返回 false。
2. 时间戳是一个表示从 1970 年 1 月 1 日 00:00:00 UTC 到给定时间的总秒数的整数值。
3. strtotime() 函数对于年份的解析范围为 1901 年至 2038 年。
四、结语
strtotime() 函数是 PHP 中非常实用的一个日期时间处理函数,可以方便地将格式化的日期时间字符串转换为时间戳。掌握 strtotime() 函数的使用方法,对于处理日期时间相关的需求非常有帮助。希望本文对你理解和使用 strtotime() 函数有所帮助。
