实际上,我想知道如何将两个不同日期之间的总差转换为毫秒。
<?php
date_default_timezone_set('Asia/Calcutta');
require_once('connect.php');
$query="select * from fixture_list";
$result=array();
if($res= mysqli_query($con,$query)){
while($row=mysqli_fetch_array($res)){
$target=new DateTime($row['matchTime']);
$now=new DateTime;
$diff=$target->diff($now);
if($target>$now){
$timeLeft= $diff->format('%a days, %h hours, %i minutes,%s seconds to go');
}
else{
$timeLeft= $diff->format('%a days, %h hours, %i minutes, %s seconds too
late bru');
}
mysqli_close($con);
?>
我的输入格式是:'y:m:d h:m:s‘这里的代码运行得很好,它返回给我正确的结果,但我想要以毫秒为单位的总差异,请帮我解决这个问题
发布于 2018-08-16 06:44:24
首先,简化您的格式:
$timeLeft= $diff->format('%a:%h:%i:%s');
然后用一些数学方法
function toMs($duration){
return (count($x=explode(':',$duration))==4?($x[0]*86400+$x[1]*3600+$x[2]*60+$x[3])*1000:false);
}
例如:
$duration_to_convert="2:3:4:20";
var_dump(toMs($duration_to_convert));
输出:
int(183860000)
如果你的持续时间是世纪、年、千年或毫秒,逻辑是一样的, ...you只需要稍微改变一下函数...
https://stackoverflow.com/questions/51866976
复制相似问题