2014-09-30 7 views
0

Как создать читаемый день рождения, как 1 января 1990 года, используя углерод в laravel.Carbon Create Readable Birthday

В моей User.php (модель) У меня есть функция, которая получит столбец день рождения в моей базе данных

public function getBirthdayAttribute($birthday) 
{ 
    return $this->attributes['birthday'] = \Carbon\Carbon::????($birthday); 
} 

Как я могу получить свой день рождения из базы данных MySQL и вернуть его как 1 января 1990 года Или что-то вроде 1 месяца, чтобы идти до вашего дня рождения, бла-бла-бла. : D

Благодаря

ответ

2

Надежный способ:

public function getBirthdayAttribute($birthday) 
{ 
    Try { 
     return \Carbon\Carbon::parse($birthday)->diffForHumans(); // 8 months ago/1 month from now etc 
     // or: 
     // ->format('F j, Y'); // returns eg. January 1, 2000 
    } 
    catch (\Exception $e) 
     return $birthday; 
    } 
} 

Вам нужно добавить некоторую логику (дата печати, печать дифф или любой другой), и это зависит от того, как вы храните свой день рождения в БД ,

+0

Как насчет 1 января 1990 года? – yaeykay

+0

return \ Carbon \ Carbon :: parse ($ birthday) -> toDateTimeString(); результат: 1990-01-01 00:00:00 – yaeykay

+0

'-> формат ('F j, Y');' - читать документы для https://github.com/briannesbitt/Carbon и http: // php.net/manual/en/class.datetime.php –