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

PHP函数:strtotime(),实现字符串转时间戳

发布时间:2023-06-29 13:57:57

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() 函数有所帮助。