快速转换时间戳:PHP的strtotime()函数简介
发布时间:2023-06-24 12:54:33
PHP中有一个非常方便的函数strtotime(),它可以将一个日期或时间字符串解析为时间戳。这个时间戳表示自Unix纪元以来经过的秒数。
strtotime()函数可以处理各种日期和时间格式,包括:
- 绝对日期:如"2019-09-01"或"12/31/2025"
- 相对日期:如"+1 day"(加一天)或"-1 month"(减一个月)
- 绝对时间:如"12:34:56"或"15:30"
- 相对时间:如"+2 hours"(加两小时)或"-30 minutes"(减30分钟)
- 混合格式:如"now + 3 days"(现在加三天)
使用strtotime()函数非常简单,只需要将日期或时间字符串作为参数传递即可,例如:
$timestamp = strtotime("2019-09-01");
这将把"2019-09-01"转换为一个时间戳,并将其存储在$timestamp变量中。
如果想要将相对日期或相对时间转换为时间戳,则需要在字符串前面加上"now",例如:
$timestamp = strtotime("now + 1 week");
这将把"now + 1 week"转换为一个时间戳,表示当前时间加一周后的时间。
strtotime()函数还可以接受可选的第二个参数,表示时间戳的基准时间。例如:
$timestamp = strtotime("12:00:00", 1577836800);
这将把"12:00:00"转换为一个时间戳,基准时间为2020年1月1日00:00:00。
除了将日期和时间字符串转换为时间戳之外,strtotime()函数还可以执行一些计算,例如计算两个日期之间相差的天数。这可以通过将两个日期字符串转换为时间戳,然后用 个时间戳减去第二个时间戳,最后将得到的秒数转换为天数来完成。例如:
$date1 = "2019-09-01"; $date2 = "2019-09-10"; $timestamp1 = strtotime($date1); $timestamp2 = strtotime($date2); $diff = ($timestamp2 - $timestamp1) / 86400; echo "相差" . $diff . "天";
这将输出"相差9天"。
总的来说,strtotime()函数是PHP中一个非常常用且方便的函数,可以帮助我们快速地将日期和时间字符串转换为时间戳,并进行一些简单的计算。
