如何在Yii2中以人类可读的形式显示时差(例如2天前)?

如何在Yii2中以人类可读的形式显示时差(例如2天前)?,yii2,Yii2,是否有人知道如何计算通知的日期时间..例如“几天前”或现在这样: 我希望任何人都能帮助我解决这个问题: <li> <a href="javascript:;"> <span class="time">3 mins</span> <span class="details"> <span class="label label-sm label-icon label-danger

是否有人知道如何计算通知的日期时间..例如“几天前”或现在这样:

我希望任何人都能帮助我解决这个问题:

<li>
    <a href="javascript:;">
        <span class="time">3 mins</span>
        <span class="details">
        <span class="label label-sm label-icon label-danger">
            <i class="fa fa-bolt"></i>
        </span> Server #12 overloaded. </span>
    </a>
</li>

  • 您可以使用一个简单的函数来计算两个日期之间的差异,并根据差异的大小(分钟、小时、天、周..)正确设置格式

    公共函数notifyDate($myStartDate){
    $datediff=$now-$myStartDate;
    如果($datediff<(60*60)){//分钟
    返回楼层($datediff/(60*60*24))“分钟前”;
    }
    如果($datediff<(60*60*24)){//小时
    返回楼层($datediff/(60*60*24))“小时前”;
    }
    //此返回日期的数字
    返回楼层($datediff/(60*60*24));
    }
    
    并在通知栏中调用此函数

    <li>
         <a href="javascript:;">
              <span class="time"><?php echo notifyDate($myStartDate); ?></span>
                   <span class="details">
                       <span class="label label-sm label-icon label-danger">
                            <i class="fa fa-bolt"></i>
                    </span> Server #12 overloaded. 
               </span>
    
          </a>
    
    </li>
    
  • 将与相对时间格式一起使用:

    
    
    我已编辑了您的问题以改进格式。根据您的需求,您可以使用javascript或后端实现所需的结果。你应该试一试,如果你有更具体的问题,请回来。你能解释更多吗?我需要理解代码…这个$timeOfEvent用于什么…和相对时间…我能知道$timeOfEvent的函数吗?实际上,我根据用户创建的时间计算用户数。@zack
    $timeOfEvent
    是一个包含事件发生时间的变量发生了。所以,如果你想显示一个创建时间的相对值,创建时间就是你在这里传递的时间。你能举个例子吗$timeOfEvent@zack:任何描述时间的内容:可能的值包括unix时间戳(例如1450969989)、DateTime对象或字符串(例如,一个MySQL时间戳字符串,如
    2015-10-28 12:22:33
    )。我可以知道如何从另一个模型中获取日期吗?例如,从包含日期属性的customer表中
    <li>
         <a href="javascript:;">
              <span class="time"><?php echo notifyDate($myStartDate); ?></span>
                   <span class="details">
                       <span class="label label-sm label-icon label-danger">
                            <i class="fa fa-bolt"></i>
                    </span> Server #12 overloaded. 
               </span>
    
          </a>
    
    </li>
    
    <?php echo Yii::$app->formatter->format($timeOfEvent, 'relativeTime') ?>