如何在 PHP 中新增天數到日期
Ralfh Bryan Perez
2023年1月30日
PHP
PHP Date
在 PHP 中操作 date 字串可以通過多種方式完成,可以新增或減去小時、天數、月份、年份等。PHP 提供了不同的函式,例如 DateTime,date_add 和 strtotime() 和 date()。
在 PHP 中通過 DateTime() 中 add 方法新增天數
使用 PHP 5.3 和更高版本,DateTime 物件及其 add 方法是新增天數的一種方法。與 strtotime 和 date 相比,DateTime 支援更多的日期格式。使用物件也比任意函式容易。例如,比較兩個日期時,它是直接比較的,但是在 strtotime 中,必須先將日期轉換為時間戳。
例:
<?php
$oldDate = "2020-02-27";
$newDate = new DateTime($oldDate);
$newDate->add(new DateInterval('P1D')); // P1D means a period of 1 day
$fomattedDate = $date->format('Y-m-d');
?>
將輸出以下程式碼:
echo $fomattedDate; //output: 2020-02-28
使用 DateTime() 最困難的部分是 DateInterval 物件。這接受有效的間隔規範。正確的格式以字母 P 開頭,意思是 period,後跟一個整數值,然後是 D。如果間隔是時間的話,則最後的部分需要為 T。
在 PHP 中結合使用 strtotime() 和 date() 新增日期
strtotime() 是一個 PHP 函式,用於將英語文字日期描述轉換為 UNIX 時間戳。strtotime 函式將接受代表日期時間的字串值。
例:
<?php
$oldDate = "2020-02-27";
$date1 = date("Y-m-d", strtotime($oldDate.'+ 1 days'));
$date2 = date("Y-m-d", strtotime($oldDate.'+ 2 days'));
?>
將輸出以下程式碼:
echo $date1; //output: 2020-02-28
echo $date2; //output: 2020-02-29
上面的示例將接受格式正確的日期字串,並使用 strtotime 和+1 days 返回新日期。date() 函式給出了正確的格式。
**注意:**為避免混淆,建議使用 ISO 8601 (YYYY-MM-DD) 格式。
在 PHP 中 date_add() 新增日期
在其他方法中,此方法最容易新增幾天,幾個月,幾年,幾小時,幾分鐘和幾秒鐘。
例:
$oldDate = date_create("2020-02-27");
date_add($oldDate, date_interval_create_from_date_string("1 day"));
在實際應用中:
echo date_format($date,"Y-m-d"); //output: 2020-02-28
上面的示例還將日期新增到日期字串中,date_create() 建立一個 DateTime 物件。date_interval_create_from_date_string() 從設定一個 DateInterval。最後 date_add() 增加了日期值。
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe