首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取两个日期之间的总差,单位为毫秒php

获取两个日期之间的总差,单位为毫秒php
EN

Stack Overflow用户
提问于 2018-08-16 05:53:52
回答 1查看 40关注 0票数 0

实际上,我想知道如何将两个不同日期之间的总差转换为毫秒。

代码语言:javascript
复制
<?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‘这里的代码运行得很好,它返回给我正确的结果,但我想要以毫秒为单位的总差异,请帮我解决这个问题

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-16 06:44:24

首先,简化您的格式:

代码语言:javascript
复制
$timeLeft= $diff->format('%a:%h:%i:%s'); 

然后用一些数学方法

代码语言:javascript
复制
function toMs($duration){
        return (count($x=explode(':',$duration))==4?($x[0]*86400+$x[1]*3600+$x[2]*60+$x[3])*1000:false);
    }

例如:

代码语言:javascript
复制
  $duration_to_convert="2:3:4:20";
    var_dump(toMs($duration_to_convert));

输出:

代码语言:javascript
复制
int(183860000)

如果你的持续时间是世纪、年、千年或毫秒,逻辑是一样的, ...you只需要稍微改变一下函数...

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51866976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档