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

PHP中的strtotime函数:如何将日期和时间转换成时间戳

发布时间:2023-06-17 23:04:40

在PHP中,strtotime函数用于将日期和时间转换成时间戳。时间戳是指从1970年1月1日00:00:00 UTC到现在的秒数。因此,时间戳可以表示一个特定的日期和时间。

使用strtotime函数可以将日期和时间表示为字符串,然后将其转换成时间戳。下面是使用strtotime函数的基本语法:

timestamp strtotime ( string $time [, int $now = time() ] )

其中,$time 参数是一个字符串,表示需要转换成时间戳的日期和时间。$now 参数是可选的,表示计算时间戳时使用的当前时间。

strtotime函数可以接受各种格式的日期和时间字符串。下面是一些常见的日期和时间字符串及其对应的时间戳:

$time = '2018-05-10 14:30:00';    // 1525951800
$time = '05/10/2018 2:30pm';       // 1525951800
$time = '10 May 2018 14:30:00';    // 1525951800
$time = 'now';                     // 当前时间的时间戳
$time = '+1 day';                  // 明天的时间戳
$time = '+1 week';                 // 下周的时间戳
$time = '+1 month';                // 下个月的时间戳
$time = '+1 year';                 // 明年的时间戳

strtotime函数还支持各种日期和时间字符串的操作符,如“+”和“-”符号,可以用来计算日期和时间的偏移量。例如,要计算从当前时间开始前10天的时间戳,可以使用如下代码:

$timestamp = strtotime('-10 days');

此外,strtotime函数还支持一些常用的时间格式,如“tomorrow”,“next Monday”,“last day of this month”等,可以方便地计算出特定日期的时间戳。

需要注意的是,strtotime函数的返回值是一个时间戳,表示从1970年1月1日00:00:00 UTC到给定日期和时间的秒数,因此,如果需要将其转换成其他格式的日期和时间字符串,需要使用date函数进行格式化。例如,将时间戳转换成日期和时间格式,可以使用如下代码:

$date = date('Y-m-d H:i:s', $timestamp);

这将返回形如“2018-05-10 14:30:00”的日期和时间字符串。

总的来说,strtotime函数是一个非常实用的函数,可以方便地将各种格式的日期和时间字符串转换成时间戳,从而更好地处理日期和时间相关的操作。