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

PHP日期和时间函数——你必须知道的10个

发布时间:2023-06-23 04:00:03

PHP 是用于 Web 开发的一种脚本语言。日期和时间函数是 PHP 中的核心功能之一,它们可以用来操作和格式化日期和时间,以及计算日期和时间之间的差异。在本文中,我们将介绍 PHP 中的 10 个日期和时间函数,这些函数在 Web 开发中经常使用。

1. date()

date() 函数用于格式化日期和时间。

语法:

date(format,timestamp)

其中,format 参数是日期和时间格式的字符串,timestamp 参数是可选的,表示要格式化的时间戳,如果未提供 timestamp 参数,则默认使用当前时间。

示例:

echo date("Y/m/d");         // 输出:2022/10/28
echo date("H:i:s");         // 输出:14:22:34
echo date("Y-m-d H:i:s");   // 输出:2022-10-28 14:22:34

2. time()

time() 函数用于获取当前 Unix 时间戳(自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的秒数)。

语法:

time()

示例:

echo time();   // 输出:1667010154

3. strtotime()

strtotime() 函数用于将日期字符串转换为 Unix 时间戳。

语法:

strtotime(time_string,[now])

其中,time_string 参数是日期字符串,now 参数是可选的,表示转换时参考的时间戳,如果未提供 now 参数,则默认使用当前时间。

示例:

echo strtotime("2022-10-28");     // 输出:1667049600
echo strtotime("next Monday");    // 输出:1667500800

4. mktime()

mktime() 函数用于获取指定日期和时间的 Unix 时间戳。

语法:

mktime(hour,minute,second,month,day,year,[is_dst])

其中,hour、minute、second 分别表示小时、分钟、秒钟,month、day、year 分别表示月份、日期、年份,is_dst 参数是可选的,表示是否考虑夏令时。

示例:

echo mktime(0,0,0,7,1,2022);   // 输出:1654041600

5. checkdate()

checkdate() 函数用于检查给定的日期是否合法。

语法:

checkdate(month,day,year)

其中,month、day、year 分别表示月份、日期、年份。

示例:

echo checkdate(2,29,2023);   // 输出:false

6. strftime()

strftime() 函数用于格式化本地时间。与 date() 函数类似,但 strftime() 函数支持本地语言环境和时区。

语法:

strftime(format,[timestamp])

其中,format 参数是日期和时间格式的字符串,timestamp 参数是可选的,表示要格式化的时间戳,如果未提供 timestamp 参数,则默认使用当前时间。

示例:

setlocale(LC_TIME, "zh_CN.utf8");    // 设置本地语言环境为中文
echo strftime("%Y年%m月%d日");         // 输出:2022年10月28日

7. getdate()

getdate() 函数用于获取 Unix 时间戳的详细信息,如年份、月份、日期、时、分、秒等。

语法:

getdate([timestamp])

其中,timestamp 参数是可选的,表示要获取信息的时间戳,如果未提供 timestamp 参数,则默认使用当前时间。

示例:

print_r(getdate());   // 输出如下:
/*
Array
(
    [seconds] => 22
    [minutes] => 44
    [hours] => 14
    [mday] => 28
    [wday] => 5
    [mon] => 10
    [year] => 2022
    [yday] => 300
    [weekday] => Friday
    [month] => October
    [0] => 1667010262
)
*/

8. strtotime()+date()

strtotime() 函数和 date() 函数结合使用,可以轻松地实现一些日期和时间的加减。

示例:

echo date("Y-m-d", strtotime("+1 day"));     // 输出明天的日期
echo date("Y-m-d", strtotime("+1 week"));    // 输出一周后的日期
echo date("Y-m-d", strtotime("-2 months"));  // 输出两个月前的日期

9. DateTime()

DateTime() 类用于处理日期和时间。与传统的日期和时间函数相比,它更具面向对象的特性,并提供了更多的功能和灵活性。

示例:

$datetime = new DateTime();
echo $datetime->format('Y-m-d H:i:s');   // 输出当前日期和时间
$datetime->modify('+1 day');
echo $datetime->format('Y-m-d H:i:s');   // 输出明天的日期和时间

10. DateTimeZone()

DateTimeZone() 类用于处理时区。它提供了获取和设置时区信息的方法,还可以将本地时间转换成任意时区的时间。

示例:

$datetime = new DateTime('now', new DateTimeZone('Asia/Shanghai'));
echo $datetime->format('Y-m-d H:i:s');   // 输出当前北京时间
$datetime->setTimezone(new DateTimeZone('America/New_York'));
echo $datetime->format('Y-m-d H:i:s');   // 输出当前纽约时间

以上就是 PHP 中的 10 个日期和时间函数,它们可以满足大多数 Web 开发的需求。如果你还没有使用过这些函数,建议在项目中尝试一下,相信它们会大大提高你的开发效率。