Como apresentar diferença entre datas

198 views
Skip to first unread message

Rodrigo Pais

unread,
Jan 25, 2020, 2:44:54 PM1/25/20
to Laravel Brasil
Pessoal,

Sou novo no Laravel e gostaria de saber como eu faço para apresentar a idade de uma pessoa 40 anos, 10 meses e 15 dias em um <td>?

Desde já muito obrigado!
Rodrigo Pais

Romário Marinho

unread,
Jan 25, 2020, 5:10:50 PM1/25/20
to Laravel Brasil
Boa noite amigo, você pode usar o Carbon.
Pesquisa sobre o Carbon que a documentação você encontrará com fazer dessa forma que quer.

Ricardo Junior

unread,
Jan 27, 2020, 9:16:49 AM1/27/20
to laravel...@googlegroups.com
// Data de Nascimento
    $dateOfBirth = '1994-07-02';
    // Dividir por data
    $explode = explode("-"$dateOfBirth);
    // Data Atual 
    $now = Carbon::now();
    // Atual idade
    $age = Carbon::parse($dateOfBirth)->age;
    // Atual ano e Data de Nascimento 
    $dateOfNowofBirth = Carbon::parse($now->year . '-' . $explode[1] . '-' . $explode[2]);
    // Quantos dias de Nascimento
    $days = $dateOfNowofBirth->diffInDays($now);
    // Quantos meses de Nascimento
    $months = $dateOfNowofBirth->diffInMonths($now);

    echo 'Idade de uma pessoa ' . $age . ' anos, ' . $months . ' meses e ' . $days . ' dias';

--
Você recebeu essa mensagem porque está inscrito no grupo "Laravel Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para laravel-brasi...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/laravel-brasil/e1f8a926-86e4-4aa3-8a52-cc8d12a3cad1%40googlegroups.com.


--
Atenciosamente,
Ricardo Junior 

Desenvolvedor e consultor freelancer.

Pablo Pereira

unread,
Mar 17, 2020, 1:27:41 PM3/17/20
to Laravel Brasil
Boa tarde.

Uma outra solução é utilizar a classe DateTime do proprio PHP, esta classe contem o metodo DateTime::diff, onde pode fazer a comparação das datas. Segue uma video aula que da uns exemplos dessa classe, a explicação dessa classe esta nos 21:48 desse video

https://www.youtube.com/watch?v=i-de46yL-mQ&list=PLhUp81I0jET71gMTWy50cpAYHrWnVnYlA&index=10&t=0s
Reply all
Reply to author
Forward
0 new messages