基本上我在当前时间和数据库时间之间有时间差异。
$cur_time = time();
$db_time = $rs[$k]['update_time'];
$diff = abs($cur_time - $db_time);
$months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));
$hours = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24)/ (60*60));
$minutes = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24 - $hours*60*60)/ 60);
$seconds = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24 - $hours*60*60 - $minuts*60));
然后以分钟,小时,天等显示时间差异
if($hours!= 0)
{
if($hours== 1)
{
$time2 = $hours.' hour, ';
}
else
{
$time2 = $hours.' hours, ';
}
}
else
{
$time2 = '';
}
if($minutes!= 0)
{
if($minutes== 1)
{
$time3 = $minuts.' minute, ';
}
else
{
$time3 = $minuts.' minutes, ';
}
}
else
{
$time3 = '';
}
秒,天和月相同..然后显示总时差
$timediff = $time1.$time2.$time3.$time4.' ago';
如果我的分钟数大于50,我需要显示其他消息。
if($time3 > 50 || $time4 > 1 || $time3 > 1 || $time2 > 1 || $time1 > 1)
{
$msg = 'greater';
}
else
{
$msg = 'lesser';
}
问题是 - 分钟,小时,天数存储在单独的变量中。假设,如果我的时差为55分钟,即显示
55 minutes ago
我的情况是如果条件这是正确的。如果我的时差是1小时2分钟
1 hour 2 minutes ago
我的情况再次如果条件只考虑2分钟,小于50分钟,而是应该转到其他循环。如何为这些时差制定条件
答案 0 :(得分:4)
您可以使用PHP中的DateTime类:
<ListView
android:id="@+id/listView_errors"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:divider="@drawable/list_divider_complaint"
android:dividerHeight="1sp"
android:listSelector="@drawable/bgselected"
android:scrollbars="none" />
答案 1 :(得分:4)
为什么不在转换之前记录你的病情?
$cur_time = time();
$db_time = $rs[$k]['update_time'];
$diff = abs($cur_time - $db_time);
if($diff > 3000) // 3600 is 1 hour and 3000 is 50 minutes
{
$msg = 'greater';
}
else
{
$msg = 'lesser';
}
即使时差为1 hour 2 minutes
,也可以正常使用