php提供了強(qiáng)大的日期時(shí)間函數(shù)用于操作和格式化日期時(shí)間,包含以下功能:創(chuàng)建 datetime 對(duì)象并獲取日期和時(shí)間信息設(shè)置時(shí)區(qū),操作日期時(shí)間(如添加一天或減去一小時(shí))使用預(yù)定義格式化字符串或自定義格式化來(lái)格式化日期時(shí)間計(jì)算時(shí)間差(如計(jì)算兩個(gè)日期之間的小時(shí)、分鐘和秒)
如何使用 PHP 的日期時(shí)間函數(shù)
PHP 提供了一系列強(qiáng)大的日期時(shí)間函數(shù),可用于對(duì)日期和時(shí)間進(jìn)行操作和格式化。
安裝
使用 Composer 包管理器
<a style='color:#f60; text-decoration:underline;' href="https://www.php.cn/zt/15906.html" target="_blank">composer</a> require php<a style='color:#f60; text-decoration:underline;' href="https://www.php.cn/zt/17121.html" target="_blank">office</a>/phpspreadsheet
登錄后復(fù)制
手動(dòng)下載
從 [PHP 官方網(wǎng)站](https://getcomposer.org/download/) 下載 Composer,然后運(yùn)行:
php composer.phar require phpoffice/phpspreadsheet
登錄后復(fù)制
用法
創(chuàng)建 DateTime 對(duì)象
$date = new DateTime();
登錄后復(fù)制
獲取日期和時(shí)間信息
方法 | 描述 |
---|---|
$date->format('Y-m-d') |
ISO 8601 日期格式 |
$date->format('H:i:s') |
ISO 8601 時(shí)間格式 |
$date->setTimezone(new DateTimeZone('Asia/Shanghai')) |
設(shè)置時(shí)區(qū) |
操作日期和時(shí)間
方法 | 描述 |
---|---|
$date->add(new DateInterval('P1D')) |
添加一天 |
$date->sub(new DateInterval('PT1H')) |
減去一個(gè)小時(shí) |
格式化日期和時(shí)間
PHP 提供了幾個(gè)預(yù)定義的格式化字符串:
格式化字符串 | 描述 |
---|---|
F j, Y |
星期幾,月,年份 |
M j, Y g:i a |
月,日,年份,小時(shí),分鐘,上午/下午 |
Y-m-d H:i:s |
ISO 8601 格式 |
自定義格式化
可以使用 strftime()
函數(shù)自定義格式化:
$formattedDate = strftime('%A, %B %e, %Y %H:%M:%S');
登錄后復(fù)制
實(shí)戰(zhàn)案例:計(jì)算時(shí)間差
$startTime = new DateTime('2022-04-01 09:00:00'); $endTime = new DateTime('2022-04-01 17:00:00'); $interval = $startTime->diff($endTime); echo $interval->format('%h:%i:%s'); // 輸出:08:00:00
登錄后復(fù)制
更多資源
[PHP 日期時(shí)間函數(shù)](https://www.php.net/manual/en/book.datetime.php)
[斯特拉夫格式化](https://www.php.net/manual/en/function.strftime.php)