2016-08-11 4 views
0

I가 다음 날짜 시간 반환 배열 :laravel 5 형식 날짜

"2016-08-10T13:15:00.000+10:00" 

이 날짜를 변환 할 수있는 기능이 존재 :

$item['created_at'] => "2015-10-28 19:18:44" 

그리고 내가이 outuput 필요를?

+0

살펴보고, 또는 그것은 탄소/DateTime 개체를 반환합니까? –

+2

laravel은 기본적으로 [Carbon] (http://carbon.nesbot.com/docs/)과 함께 제공되므로 사용하면됩니다. 문자열이나 Carbon/DateTime 객체 인 경우에도 마찬가지입니다. – Andrew

+2

그러나 '2015-10-28 19 : 18 : 44 '에서'2016-08-10T13 : 15 : 00.000 + 10 : 00 '까지 날짜를 다시 포맷하는 것만으로는 안됩니다. 몇 일/몇 달/년/시간/분/초 당신이 그것을 조정하고 있습니까? 그리고 그 변화에 대한 규칙은 무엇입니까? –

답변

1

이 시도 :

$dt = new \DateTime('2015-10-28 19:18:44', new \DateTimeZone('Europe/London')); 
dd($dt->format('c')); // string '2015-10-28T19:18:44+00:00' (length=25) 

는 또한 실제로 그와 같은 문자열을 반환합니까 Carbon

0

Laravel의 접근자를 사용하여 "다시 포맷"created_at을 얻을 수 있습니다.

public function getCreatedAtAttribute($value) 
{ 
    //Since Laravel uses Carbon you can do. 
    return $value->format('c'); 
} 

이 방법 언제 당신은 created_at 수정 반환합니다 $model->created_at 그런 짓을.

데이터베이스에 created_at의 날짜/시간 형식을 변경하려는 경우에는 변경자를 사용할 수 있습니다.

자세한 내용은 Laravel's docs page에서 확인하십시오.

+1

ID와 같은 Laravel의 마술 칼럼 이름에 접근자를 조심하겠습니다. 생성 된/업데이트 된/삭제 된 등. 'getFormattedCreatedAtAttribute' 및'formatted_created_at'와 같은 다른 이름을 부여하는 것이 좋습니다. – ceejayoz

+0

@ceejayoz 어떻게 될까요? –

+0

나는 여기서 야생의 추측을하고, 그 값으로 일하는 어떤 종류의 마법 방법을 사용한다고 가정 할 것이다. 다시 말하자면 create/update/etc와 같은 단어는 "예약되어"있습니다 (se가 아니라 get). 그리고 마술 방법을 디버깅하는 것은 포크로 스스로를 죽이는 것과 같습니다. 피하는 것이 더 좋습니다. – Andrew