我正在计算在任何一天剩下多少分钟。我以为我有了解决方案,但数字看起来有点奇怪。
我的代码:
date_default_timezone_set('Europe/London');
$sTime = date("d-m-Y H:i:s");
echo 'The time is: ' . $sTime."<br>";
$NowTime = date("H:i");
echo $NowTime."<br>";
$start = strtotime($NowTime);
$stop = strtotime("23:59");
$diff = ($stop - $start); //Diff in seconds
echo "start ". $start."<br>";
echo "stop " .$stop."<br>";
echo "diff " .$diff."<br>";
$minutes = $diff / 60;
echo "minutes ". $minutes."<br>";
$hours = $minutes / 60;
echo "hours " .$hours."<br>";
输出:
15时24
开始1446909840
停止1446940740
diff 30900
H:M 08:35:00
分钟515
小时8.58333333333
问题:如何转换小时数&#34; 8.58333333333&#34;到8.xx分钟。
非常感谢你的时间。
答案 0 :(得分:1)
如果您可以访问DateTime
课程,则可以轻松完成此任务。
$timezone=new DateTimeZone( 'Europe/London' );
$now=new DateTime( 'now', $timezone );
$midnight=new DateTime( date('Y-m-d H:i:s', strtotime('11.59pm') ), $timezone );
$diff = $now->diff( $midnight );
$mins=( intval( $diff->format('%h') ) * 60 ) + intval( $diff->format('%i') );
echo $diff->format('%h hours %i minutes %s seconds').'<br />Minutes left until midnight: '.$mins;
答案 1 :(得分:1)
我有一个用天数,小时,分钟或秒来计算时差的fx。输入日期并获得结果。 Pos或负面结果取决于您的输入方式。
$ApptHourTillMidnight= (GetTimeDiff( date('Y-m-d 23:59:59'),date('Y-m-d H:i:s'),'m') ); //get minutes until midnight
function GetSeconds($time){
$seconds = strtotime($time); return $seconds;
}
function GetTimeDiff($time1,$time2,$type){
$s= GetSeconds($time1);
$e= GetSeconds($time2);
switch (strtolower($type)) {
case "s";
return ($s - $e);
case "m";
return (($s - $e) / 60);
case "h";
return ((($s - $e) / 60)/60);
case "d";
return (((($s - $e) / 60)/60)/24);
return FALSE; //wrong type
}
}