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

PHP函数库中的10个有用的日期和时间函数

发布时间:2023-06-13 06:28:10

1. date()函数 

PHP内置的date()函数允许根据指定的格式,提取、格式化当前时间和日期。这个函数常用于将时间和日期以特定的格式输出到网站上。例如,以下代码将以“月-日-年”的格式输出当前日期:

<?php 

echo date('m-d-Y'); 

?>

2. time()函数

time()函数返回当前的UNIX时间戳,即从1970年1月1日00:00:00 UTC到当前时间的秒数,也称为“Epoch”。这个函数通常用于计算时间间隔或比较时间戳。

<?php 

echo time(); 

?>

3. strtotime()函数

strtotime()函数用于将人类可读的日期和时间字符串转换为UNIX时间戳。它可以识别多种常见的日期格式,例如“now”、“1 day ago”、“+1 week”、“next Monday”等等。

<?php 

echo strtotime('2019-01-01'); 

?>

4. date_diff()函数

date_diff()函数用于计算两个日期之间的时间差,并将结果格式化为一个DateInterval对象。它可以用于比较任意两个日期,例如计算两个事件之间的天数、小时数或者秒数等等。

<?php 

$date1 = new DateTime('2019-01-01'); 

$date2 = new DateTime('2019-02-01'); 

$interval = date_diff($date1, $date2); 

echo $interval->format('%R%a days'); 

?>

5. date_add()函数

date_add()函数用于在指定的日期上添加时间间隔。它接受一个DateTime对象和一个DateInterval对象作为参数,并返回一个新的DateTime对象。这个函数可以用于创建到期日期、结束日期等等。

<?php 

$date = new DateTime('2019-01-01'); 

$interval = new DateInterval('P1M'); 

$date->add($interval); 

echo $date->format('Y-m-d'); 

?>

6. date_sub()函数

date_sub()函数用于在指定的日期上减去时间间隔。它接受一个DateTime对象和一个DateInterval对象作为参数,并返回一个新的DateTime对象。这个函数可以用于计算倒计时、开始日期等等。

<?php 

$date = new DateTime('2019-01-01'); 

$interval = new DateInterval('P1M'); 

$date->sub($interval); 

echo $date->format('Y-m-d'); 

?>

7. date_create_from_format()函数

使用date()函数可以输出格式化的日期和时间,但是如果要将一个格式化的日期和时间字符串转换为DateTime对象或时间戳,则需要使用date_create_from_format()函数。这个函数接受两个参数:日期格式和日期字符串,然后返回一个DateTime对象。

<?php 

$date_string = '2019-01-01'; 

$date = date_create_from_format('Y-m-d', $date_string); 

echo $date->format('Y-m-d'); 

?>

8. microtime()函数

microtime()函数用于返回当前的UNIX时间戳和微秒数(以秒为单位)。这个函数通常用于测试代码的性能和响应时间。

<?php 

$time = microtime(true); 

echo $time; 

?>

9. gmdate()函数

gmdate()函数和date()函数类似,也可以根据指定的格式输出当前时间和日期。与date()不同的是,gmdate()函数基于格林威治标准时间(GMT/UTC),而不是基于本地时区。这个函数通常用于处理跨时区的计算。

<?php 

echo gmdate('Y-m-d H:i:s'); 

?>

10. strftime()函数

strftime()函数和date()函数类似,也可以根据指定的格式输出当前时间和日期。与date()不同的是,strftime()函数允许使用本地化日期格式,并且支持不同语言和国家的日期格式。

<?php 

setlocale(LC_TIME, 'fr_FR'); 

echo strftime('%A %e %B %Y'); 

?>