我正在创建一个票务系统。我已经存储了票证创建日期和当前日期之间的间隔。
每张票证都有一个存储为字符串的解决时间限制 ($targetTime) .. 15 分钟、4 小时等。
我试图通过从时间限制字符串中减去间隔来计算剩余时间。
我尝试在 $targetTime 上使用 strtotime 但我很难理解它应该如何格式化。
$then = new DateTime($query->fetchColumn());
$now = new DateTime();
$interval=date_diff($then, $now);
$targetTime = strtotime($targetTime);
$timeRemaining = $targetTime - $interval;
$targetTime = 1649991600;
echo timeLeft($targetTime);
function timeLeft($timestamp) {
$strTime = array("second", "minute", "hour", "day", "month", "year");
$length = array("60","60","24","30","12","10");
$currentTime = time();
if($currentTime <= $timestamp) {
$diff = $timestamp-time();
for($i = 0; $diff >= $length[$i] && $i < count($length)-1; $i++) {
$diff = $diff / $length[$i];
}
$diff = round($diff);
if ($diff == 1) {
return $diff . " " . $strTime[$i] . " left ";
}else{
return $diff . " " . $strTime[$i] . "s left ";
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)