PHP DateTime 在處理時間時,可以使用加減運算來實現比較靈活的時間計算。
DateTime 對象可以使用 add() 和 sub() 方法實現加減,這兩個方法都有兩個參數,第一個參數表示時間間隔,第二個參數表示時間格式。
<?php$datetime = new DateTime('2022-01-01 00:00:00'); $datetime->add(new DateInterval('P1D')); echo $datetime->format('Y-m-d H:i:s');?>
上述代碼表示在 DateTime 對象中添加一天,并輸出結果 2022-01-02 00:00:00。
除了可以添加天數,也可以添加小時、分鐘、秒等,例如:
<?php$datetime = new DateTime('2022-01-01 00:00:00'); $datetime->add(new DateInterval('PT1H')); echo $datetime->format('Y-m-d H:i:s');?>
上述代碼表示在 DateTime 對象中添加一小時,并輸出結果 2022-01-01 01:00:00。
相反,如果要減去時間,可以使用 sub() 方法,例如:
<?php$datetime = new DateTime('2022-01-02 00:00:00'); $datetime->sub(new DateInterval('P1D')); echo $datetime->format('Y-m-d H:i:s');?>
上述代碼表示在 DateTime 對象中減去一天,并輸出結果 2022-01-01 00:00:00。
DateTime 也支持鏈式操作,例如:
<?php$datetime = new DateTime('2022-01-01 00:00:00'); $datetime->add(new DateInterval('PT1H'))->add(new DateInterval('P1D')); echo $datetime->format('Y-m-d H:i:s');?>
上述代碼表示在 DateTime 對象中先添加一小時,再添加一天,并輸出結果 2022-01-02 01:00:00。
總之,使用 DateTime 的 add() 和 sub() 方法,可以實現非常靈活的時間計算,有效地實現對時間的精確控制。