2014-04-28 6 views
1

Привет, я являюсь usar laravel 4 для страницы приложения, мне нравятся функции даты на угле, но у меня проблема с форматом даты. У меня есть формат даты что-то вроде:Laravel 4 carbon date формат меняется только один раз

dd/mm/yyyy 

И я использую:

\Carbon\Carbon::createFromTimeStamp(strtotime(Auth::user()->created_at))->diffForHumans() 

, чтобы показать, сколько лет его что-то, но это работает хорошо, когда формат даты его

yyy-mm-dd 

как могу ли я только изменить формат даты и не каждый раз.

+0

Что вы имеете в виду «как я могу изменить только один раз, формат даты, а не каждый раз.»? – Marwelln

+0

Я создал поле с форматом yyyy-mm-dd, я хочу изменить формат даты, когда я называю день рождения поля, поэтому, когда я вызываю снова созданное поле, он работает в том же формате. Что я пытаюсь сказать, я не хочу менять формат даты в глобальном масштабе. –

+1

Будьте более конкретным, покажите код, в котором вы хотите его использовать, потому что сейчас только гадать с нашей стороны. Я предполагаю, что вам нужно что-то вроде «Carbon :: createFromFormat» («d/m/Y», «$ yourDate»). –

ответ

3

Вы можете попробовать это:

$date = Auth::user()->created_at; 
\Carbon\Carbon::createFromFormat('d/m/Y', $date)->diffForHumans(); 

Также вы можете попробовать это (если вы хотите использовать createFromTimeStamp метод):

$date = str_replace('/', '-', Auth::user()->created_at); 
\Carbon\Carbon::createFromTimeStamp(strtotime($date))->diffForHumans(); 
+1

Это то, что мне нужно, извините, если я не более конкретный, но английский это не мой натальный язык –

+0

Добро пожаловать @ChachooAguirre :-) –

3

Вы можете создать Accessor, который будет использоваться всякий раз, когда вы делаете эхо $user->created_at:

public function getCreatedAtAttribute($attr) 
{ 
    return Carbon::parse($attr)->diffForHumans(); 
} 

Подробнее о Accessors: http://laravel.com/docs/eloquent#accessors-and-mutators

Вы можете даже поместить это в класс BaseModel, и все ваши модели расширят базовый класс, чтобы автоматически преобразовать все свойства created_at в указанный формат даты.

2

Более простой глобальной настройки для формата даты в Laravel 4: проверить это link

На самом деле, это очень легко глобально формат даты изменения с помощью LIB Carbon в. Все, что вам нужно сделать, это создать файл BaseModel.php в папке модели, а затем добавить методы для Create_At и Update_at -> set attributes. Затем расширьте свою модель с помощью этой BaseModel, и все даты отображаются с вашим собственным форматом.

Я надеюсь, что вы будете наслаждаться этим обнаружить ...