PHP DateTime 是一個強大而且易于使用的日期和時間處理類。它允許你在 PHP 中輕松地創建、操作和格式化日期和時間。
要使用 PHP DateTime,必須先創建一個 DateTime 對象。可以使用當前日期/時間來初始化對象,也可以使用指定的日期/時間。
<?php $date = new DateTime(); // 使用當前日期和時間 echo $date->format('Y-m-d H:i:s'); // 輸出 2022-01-16 12:34:56 $date = new DateTime('2022-01-01'); // 使用指定日期 echo $date->format('Y-m-d'); // 輸出 2022-01-01 ?>
DateTime 對象提供了許多方法來獲取、設置日期和時間的不同部分。下面是一些示例:
<?php $date = new DateTime('2022-01-01 12:34:56'); echo $date->format('Y-m-d H:i:s'); // 輸出 2022-01-01 12:34:56 echo $date->format('Y'); // 輸出 2022 echo $date->format('m'); // 輸出 01 echo $date->format('d'); // 輸出 01 echo $date->format('H'); // 輸出 12 echo $date->format('i'); // 輸出 34 echo $date->format('s'); // 輸出 56 ?>
另一個有用的方法是 add(),它可以添加或減去指定的時間段(例如年、月、天、小時等)。
<?php $date = new DateTime('2022-01-01'); $date->add(new DateInterval('P10D')); // 添加 10 天 echo $date->format('Y-m-d'); // 輸出 2022-01-11 $date->sub(new DateInterval('P1M')); // 減去 1 個月 echo $date->format('Y-m-d'); // 輸出 2021-12-11 ?>
還有一種特殊的時間間隔是 DatePeriod,它允許你定義一個時間段,并在該時間段內進行迭代。
<?php $start = new DateTime('2022-01-01'); $end = new DateTime('2022-01-05'); $interval = new DateInterval('P1D'); $period = new DatePeriod($start, $interval, $end); foreach ($period as $date) { echo $date->format('Y-m-d'); } ?>
在上面的示例中,我們定義了一個從 2022-01-01 到 2022-01-05 的時間段,并使用了 P1D 時間間隔來迭代每一天。
PHP DateTime 還支持時區、夏令時、日期和時間的比較、格式化等許多其他功能。如果你想深入了解 PHP DateTime,請查看官方文檔。