您好我有以下php事件
public function onRenderDate(Event $event, $propertyValue)
{
// $propertyValue will be something like 1970-01-01,need to split the value in to following format
pr($propertyValue);
pr(getType($propertyValue));
$arr = [
'year' => 2016,
'month' => 07,
'day' => 01
];
return $arr;
}
现在我对$ arr进行了硬编码,如何将$ propertyValue(返回字符串日期(2016-10-05T00:00:00 + 00:00))拆分为$ arr,以便我可以获得每个人都有这样的价值观?伙计们好吗?提前致谢
答案 0 :(得分:1)
public function onRenderDate(Event $event, $propertyValue)
{
$time = strtotime( $propertyValue);
$newformat = date('Y-m-d',$time);
$newformatArr = explode('-',$newformat);
$arr = [
'year' => $newformatArr[0],
'month' => $newformatArr[1],
'day' => $newformatArr[2]
];
return $arr;
}
答案 1 :(得分:0)
你可以使用strtotime()php函数来做到这一点。该函数期望给出一个包含英文日期格式的字符串,并尝试将该格式解析为Unix时间戳。使用时间戳,您可以使用date()函数获取日,月和年。下面我更新了你的功能。
public function onRenderDate(Event $event, $propertyValue)
{
$timestamp = strtotime( $propertyValue);
$arr = [
'year' => date('Y', $timestamp),
'month' => date('m', $timestamp),
'day' => date('d', $timestamp)
];
return $arr;
}