[英]How do i subtract End Time from Start Time without having negative minutes in Javascript timer
我需要从开始时间减去结束时间来创建一个倒数计时器,我也想避免得到负数分钟。 我该怎么做呢。
var timeStart = new Date().getHours();
var timeEnd = new Date("01/01/2007 " + valuestop).getHours();
var timeStartMin = new Date().getMinutes();
var timeEndMin = new Date("01/01/2007 " + valuestop).getMinutes();
var difference = timeEnd - timeStart;
var differenceMin = timeEndMin - timeStartMin;
计时器工作正常,但VAR differenceMin为负
我不明白为什么你会在开始和结束之间出现差异,因为大多数情况下我们使用结束时间和现在差异进行倒计时。 但无论如何,我发送你想要的东西,如果你愿意,你可以使用这个函数来区分结束和现在。
var getTimeDifference=function(from,to){
var difMs = (from - to);
if(difMs<=0){
return 0 + " days, " + 0 + " hours, " + 0 + " mins";
}else{
var difDays = Math.floor(difMs / 86400000);
var difHrs = Math.floor((difMs % 86400000) / 3600000);
var difMins = Math.round(((difMs % 86400000) % 3600000) / 60000);
return diffDays + " days, " + difHrs + " hours, " + diffMins + " mins";
}
}
var startTime= new Date('12-30-2019 20:00:00');
var endTime= new Date('11-1-2019 16:00:00');
getTimeDifference(endTime,startTime);
function getDateTimeDifference($startTime){ $datetime1 = new DateTime(); $datetime2 = new DateTime($startTime); $elapsed = ""; $interval = $datetime1->diff($datetime2); $days = (int)$interval->format('%a'); $hours = (int)$interval->format('%h'); $minits = (int)$interval->format('%i'); $second = (int)$interval->format('%s'); if($days > 1): $elapsed = "$days days ago"; elseif($hours = 1): $elapsed = "$hours hours ago"; elseif($minits 1): $elapsed = "$minits minits ago"; elseif($minits format('Y-m-d h:i:s'); //'%y years %m months %a days %h hours %i minutes %s seconds' endif; return $elapsed; }
$startTime = "2019-11-29 10:10:10";
$elapsedTime = getDateTimeDifference($startTime);
echo $elapsedTime;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.