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

PHP中的strtotime函数:将任何字符串转换为时间戳

发布时间:2023-06-30 17:28:22

在PHP中,strtotime函数是用于将任何字符串转换为时间戳的函数。时间戳表示从1970年1月1日00:00:00开始经过的秒数。strtotime函数可以将多种格式的字符串转换为时间戳,例如以下格式:

1. 数字字符串:字符串只包含数字时,将被解析为从1970年1月1日00:00:00开始经过的秒数。

$time = strtotime("1234567890");
echo $time; // 输出:1234567890

2. 日期字符串:常见的日期格式,如"YYYY-MM-DD"、"MM/DD/YYYY"、"DD-MM-YYYY"等,都可以被转换为时间戳。

$time = strtotime("2021-01-01");
echo $time; // 输出:1609459200

3. 相对时间字符串:strtotime函数还支持解析相对时间字符串,例如"now"表示当前时间,"tomorrow"表示明天,"+1 day"表示增加一天,"-1 week"表示减少一周,"+2 weeks 3 days 4 hours"表示增加两周三天四小时,等等。

$time = strtotime("now");
echo $time; // 输出:当前时间的时间戳

$time = strtotime("tomorrow");
echo $time; // 输出:明天的时间戳

$time = strtotime("+1 day");
echo $time; // 输出:当前时间加一天的时间戳

$time = strtotime("-1 week");
echo $time; // 输出:当前时间减一周的时间戳

$time = strtotime("+2 weeks 3 days 4 hours");
echo $time; // 输出:当前时间加两周三天四小时的时间戳

需要注意的是,strtotime函数对于某些日期格式的解析可能会存在一些模糊性和错误。因此,在使用strtotime函数将字符串转换为时间戳时, 是使用确定的日期格式,以免出现不必要的错误。

另外,有些字符串无法被转换为有效的时间戳,例如非法的日期格式或不符合预期的相对时间字符串。对于这些情况,strtotime函数将返回false。

$time = strtotime("invalid date");
var_dump($time); // 输出:bool(false)

总结起来,PHP中的strtotime函数是一个非常方便的函数,可以将任何字符串转换为时间戳。但是,我们需要注意字符串的格式和内容,以避免出现错误的转换结果。