[英]Setting just the year with PHP DateTime
使用 PHP DateTime,您可以使用->modify()
->add()
和->sub()
來操作當前的 DateTime 對象。
還有->setDate()
和->setTime()
方法允許更新年、月和日,或時、分和秒。
然而,似乎沒有任何方法可以單獨設置年、月或日。
我認為最好的方法是創建一個新的 DateTime 對象並使用前一個對象來填充setDate()
方法是否正確?
像這樣的東西:
$DateTime2020 = new \DateTime('2020-02-26');
$DateTime2019 = (new \DateTime())->setDate('2019', $DateTime2020->format('m'), $DateTime2020->format('d'));
您可以使用與->format()
方法中相同的表示法,因此您無需創建對象並稍后對其進行修改。 下面是一個例子:
new \\DateTime("$year-01-01")
動態年份
new \\DateTime("this year $month/01")
動態月份
基本上 DateTime 對象要求所有段都有效,並且在創建新對象期間 php 嘗試使用構造函數的參數猜測段(默認為 2020-01-01 00:00:00),但是當您設置 DateTime(2019) 時,php 會識別它作為小時:分鍾(20:19)所以你必須更具體,這就是為什么我添加了 01-01 指的是月和日。
$DateTime2020 = new \DateTime('2020-02-26');
$year = 2019;
$DateTime2019 = date_create($DateTime2020->format($year."-m-d"));
// 2019-02-26 00:00:00.000000
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.