簡體   English   中英

僅使用 PHP DateTime 設置年份

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM