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

必备的10个PHP日期和时间函数,让您更加高效

发布时间:2023-06-17 10:55:25

PHP 是一种流行的开源脚本语言,多数用于网页开发。对于日期和时间函数,PHP 提供了许多内置函数,使开发者可以轻松完成日期和时间处理任务。在本文中,我将介绍10个常用的 PHP 日期和时间函数,它们将使您在开发过程中更加高效。

1. date

date 函数允许您将日期格式化为字符串。它的语法如下:

string date ( string $format [, int $timestamp = time() ] )

其中, $format 参数表示您要使用的日期格式。timestamp 参数是一个可选的 UNIX 时间戳,如果您不指定它,则默认为当前时间。例如,如果您要获取当前日期和时间的 ISO 格式,可以这样使用这个函数:

echo date("c");

2. time

PHP 内置的 time 函数返回当前的 UNIX 时间戳。它的语法如下:

int time ( void )

UNIX 时间戳是一个表示从 1970 年 1 月 1 日 00:00:00 UTC(协调世界时)起经过的秒数。例如,如果您想获取当前时间戳,您可以这样使用这个函数:

echo time();

3. strtotime

strtotime 函数将格式化日期字符串转换为 UNIX 时间戳。它的语法如下:

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

其中,$time 参数表示你输入的格式化日期字符串。$now 参数是一个可选的 UNIX 时间戳,如果您不指定它,则默认为当前时间。例如,如果您想把字符串 "2022-08-09" 转换成时间戳,可以这样使用这个函数:

echo strtotime("2022-08-09");

4. mktime

mktime 函数返回一个日期的 UNIX 时间戳,它需要你输入指定的时间。它的语法如下:

int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )

这个函数的参数可以使可选的,如果您不指定某个参数的值,则默认为当前时间。例如,如果您想获取 2022 年 8 月 9 日的时间戳,可以这样使用这个函数:

echo mktime(0, 0, 0, 8, 9, 2022);

5. date_default_timezone_set

date_default_timezone_set 函数设置脚本的默认时区。它的语法如下:

bool date_default_timezone_set ( string $timezone_identifier )

其中,$timezone_identifier 参数表示您要设置的时区的标识符。例如,如果您想将时区设置为纽约,可以这样使用这个函数:

date_default_timezone_set("America/New_York");

6. gmdate

gmdate 函数允许您将日期和时间格式化为字符串,基于 GMT(格林尼治标准时间)。它的语法如下:

string gmdate ( string $format [, int $timestamp = time() ] )

其中,$format 参数表示您要使用的日期格式。$timestamp 参数是一个可选的 UNIX 时间戳,如果您不指定它,则默认为当前时间。例如,如果您想获取当前 GMT 时间,可以这样使用这个函数:

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

7. date_add

date_add 函数在给定日期(DateTime)上加上一个时间间隔(DateInterval)。它的语法如下:

DateTime date_add ( DateTime $object , DateInterval $interval )

其中,$object 参数表示您要添加时间间隔的日期(DateTime 对象)。$interval 参数表示您要添加的时间间隔(DateInterval 对象)。例如,如果您想让当前日期加上 2 天,可以这样使用这个函数:

$date = new DateTime();
$date->add(new DateInterval("P2D"));
echo $date->format("Y-m-d");

8. date_diff

date_diff 函数计算两个日期之间的差异。它的语法如下:

DateInterval date_diff ( DateTimeInterface $datetime1 , DateTimeInterface $datetime2 [, bool $absolute = FALSE ] )

其中,$datetime1 和 $datetime2 参数表示您要计算的两个日期(DateTimeInterface 对象)。$absolute 参数表示您是否希望得到绝对值的差异。例如,如果您想计算 2022 年 8 月 12 日和 2022 年 8 月 9 日之间的日期差异,可以这样使用这个函数:

$date1 = new DateTime("2022-08-12");
$date2 = new DateTime("2022-08-09");
$diff = date_diff($date1, $date2);
echo $diff->d . " days";

9. date_create

date_create 函数创建一个新的 DateTime 对象。它的语法如下:

DateTime date_create ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

其中,$time 参数表示您要创建的日期和时间。$timezone 参数表示您要使用的时区。如果您不指定这两个参数,则默认为当前日期和本地时区。例如,如果您想创建一个代表 2022 年 8 月 9 日的 DateTime 对象,可以这样使用这个函数:

$date = date_create("2022-08-09");
echo $date->format("Y-m-d");

10. date_interval_create_from_date_string

date_interval_create_from_date_string 函数创建一个代表一段时间的 DateInterval 对象,基于您提供的字符串。它的语法如下:

DateInterval date_interval_create_from_date_string ( string $time )

其中,$time 参数表示您要使用的格式化时间字符串。例如,如果您想创建一个代表 2 天的 DateInterval 对象,可以这样使用这个函数:

$interval = date_interval_create_from_date_string("2 days");
echo $interval->format("%d days");

总结

PHP 提供了许多内置的日期和时间函数,使开发者可以轻松地进行日期和时间处理。在本文中,我们介绍了10个常用的 PHP 日期和时间函数,包括 date,time,strtotime,mktime,date_default_timezone_set,gmdate,date_add,date_diff,date_create 和 date_interval_create_from_date_string。这些函数将有助于您更加高效地完成您的开发任务,特别是与日期和时间相关的任务。