Laravel时间戳计算

时间:2015-05-25 11:02:24

标签: php laravel sqlite timestamp

我想计算当前时间和时间戳之间的差异,时间戳是出生日期(17/10/1996),它应该显示用户的年龄(18),有什么建议吗?我正在使用sqlite3。

编辑: 上面的问题已经回答了,只是同一主题的另一个问题,我如何将结果从{{$user->DOB}}传递到下面的php?通过这种方式,我将能够获得用户的具体出生日期。

   @foreach ($users as $user)
          <div id="friendspanel"class="panel panel-default">
        <a class="searchFriendsLink">
        <div class="panel-body">
            <img src="{{ asset($user->image->url('thumb')) }}">
            <p style="">{{ $user->fullname }}</p>
            <p id="commentP">{{ $user->email }}</p>
            {{$user->DOB}} /// how do I pass this variable into the php below
            <?php
            $created = Carbon::createFromFormat('d/m/Y', '1/1/1'); // $timestamp = 17/10/1996
            $now = Carbon::now();
            $result = $created->diffInYears($now) . " years old";
            echo $result;
            ?> 
        </div>
        </a>
    </div>

@endforeach

1 个答案:

答案 0 :(得分:2)

Laravel与Carbon捆绑在一起,非常适合日期操作。您可以使用以下代码实现此目的,使用Carbon:

$created = Carbon::createFromFormat('d/m/Y', $timestamp); // $timestamp = 17/10/1996
$now = Carbon::now();
echo "You are " .  $created->diffInYears($now) . " years old";

你可以看到非常简单和干净。

对于 Laravel 5 ,您必须像这样引用该类:

$created = Carbon\Carbon::createFromFormat('d/m/Y', $timestamp);
$now = Carbon\Carbon::now();
echo "You are " .  $created->diffInYears($now) . " years old";