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

PHP日期函数指南

发布时间:2023-06-21 11:03:15

PHP是一种开源的服务器端脚本语言,可以在任何 Web 服务器上运行,也可以直接解释执行。PHP 是一种面向对象的语言,可以轻松地与 MySQL 数据库集成。

日期处理是每个 Web 开发人员必须掌握的重要技能之一,PHP 为处理日期和时间提供了许多有用的函数。在本文中,我们将提供一些常用的 PHP 日期函数,以及如何使用它们来处理日期和时间数据。

1. date() 函数

date() 函数用于格式化日期和时间,返回字符串表示当前日期和时间。它的语法如下:

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

其中,format 参数是必需的,表示输出日期的格式,可以包含以下格式化字符:

- d: 日(01~31)

- D: 星期缩写(Mon~Sun)

- j: 日(1~31)

- l: 星期全称(Monday~Sunday)

- S: day of month suffix

- w: 星期(0:星期天~6:星期六)

- z: 一年中的第几天(0~365)

- W: 一年中的星期数(1~52)

- F: 月份全称(January~December)

- m: 月份(01~12)

- M: 月份缩写(Jan~Dec)

- n: 月份(1~12)

- Y: 年份(例如:1999)

- y: 年份(例如:99)

- a: 上午/下午(am/pm)

- A: 上午/下午(AM/PM)

- g: 12时制(1~12)

- G: 24时制(0~23)

- h: 12时制(01~12)

- H: 24时制(00~23)

- i: 分钟(00~59)

- s: 秒(00~59)

以下是一些示例:

echo date("Y-m-d"); // 输出 2022-01-01
echo date("Y-m-d H:i:s"); // 输出 "2022-01-01 00:00:00"
echo date("D"); // 输出 "Sat"
echo date("F j, Y, g:i a"); // 输出 "January 1, 2022, 12:00 am"

2. time() 函数

time() 函数返回自 Unix 时间戳(1970 年 1 月 1 日 00:00:00 GMT)以来的秒数。它的语法很简单:

int time ( void )

以下是一个示例:

$timestamp = time();
echo $timestamp; // 输出 1640995200

3. strtotime() 函数

strtotime() 函数用于将字符串转换成 Unix 时间戳,它需要一个日期字符串作为参数。它的语法如下:

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

以下是一些示例:

echo strtotime("2022-01-01"); // 输出 1640995200
echo strtotime("next saturday"); // 输出下周六的 Unix 时间戳

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 ]]]]]]] )

以下是一个示例:

$timestamp = mktime(0, 0, 0, 1, 1, 2022);
echo $timestamp; // 输出 1640995200

5. date_diff() 函数

date_diff() 函数用于计算两个日期之间的差值,并返回一个 DateInterval 对象。它的语法如下:

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

以下是一个示例:

$date1 = new DateTime("2021-01-01");
$date2 = new DateTime("2022-01-01");
$interval = date_diff($date1, $date2);
echo $interval->format('%R%a days'); // 输出 "+365 days"

6. date_add() 和 date_sub() 函数

date_add() 和 date_sub() 函数用于添加或减去指定的时间间隔。它们的语法如下:

DateTimeInterface date_add ( DateTimeInterface $object , DateInterval $interval )
DateTimeInterface date_sub ( DateTimeInterface $object , DateInterval $interval )

以下是一个示例:

$date = new DateTime("2022-01-01");
$date->add(new DateInterval("P1Y")); // 添加一年
echo $date->format("Y-m-d"); // 输出 "2023-01-01"

$date->sub(new DateInterval("P1M")); // 减去一个月
echo $date->format("Y-m-d"); // 输出 "2022-12-01"

7. strftime() 函数

strftime() 函数用于将时间格式化为本地日期/时间,它的语法类似于 date() 函数,但它支持本地化日期格式。以下是一个示例:

setlocale(LC_TIME, "Chinese");
echo strftime("%A %B", time()); // 输出 "星期六 一月"

这里的 LC_TIME 参数表示设置本地化时间格式。

以上是一些常用的 PHP 日期函数,它们可以帮助你轻松地处理日期和时间数据。无论你需要什么样的日期格式,PHP 都提供了一些方便的函数和方法来帮助你完成任务。