实例化 DateTime PhP 对象后无法立即应用函数
Unable to apply function right after instanctiation of a DateTime PhP object
我尝试使用 DateTime::
.
提取字符串日期的年份
我不明白为什么 DateTime 的以下实例化会引发错误:
$myDate = "2015-09-10";
$year_myDate = new DateTime($myDate)->format("Y");
知道这个确实有效:
$myDate = "2015-09-10";
$dateTime_myDate = new DateTime($myDate);
$year_myDate = $dateTime_myDate->format("Y");
对象 return 不是它自己的一个实例吗?那么为什么我们不能在实例化后立即使用这个 class 的方法呢?
你可以,你只需要将你的实例化到括号中,例如
$year_myDate = (new DateTime($myDate))->format("Y");
↑ ↑
注:
- 这适用于 PHP >= 5.4 dereferencing
$year_myDate
,不会包含 DateTime
的实例,只是一个字符串(return 来自 DateTime::format()
)
我尝试使用 DateTime::
.
我不明白为什么 DateTime 的以下实例化会引发错误:
$myDate = "2015-09-10";
$year_myDate = new DateTime($myDate)->format("Y");
知道这个确实有效:
$myDate = "2015-09-10";
$dateTime_myDate = new DateTime($myDate);
$year_myDate = $dateTime_myDate->format("Y");
对象 return 不是它自己的一个实例吗?那么为什么我们不能在实例化后立即使用这个 class 的方法呢?
你可以,你只需要将你的实例化到括号中,例如
$year_myDate = (new DateTime($myDate))->format("Y"); ↑ ↑
注:
- 这适用于 PHP >= 5.4 dereferencing
$year_myDate
,不会包含DateTime
的实例,只是一个字符串(return 来自DateTime::format()
)