【问题标题】:different between two time tags of HTMLHTML的两个时间标签之间的差异
【发布时间】:2015-11-10 10:43:45
【问题描述】:

我的 html 部分中有这段代码

<input id="intime" name="intime" type="time">
<input id="outtime" name="outtime" type="time">

在我的 PHP 部分

$t = $intime - $outtime;

$t 的结果仅等于小时之间的差异,我也需要分钟之间的差异,例如(14:20 - 12:10 = 02:10)

【问题讨论】:

  • 减法前$intime和$outtime的值是多少?
  • @MeanGreen $intim = 09:00 和 $outtime = 11:30

标签: php html time tags difference


【解决方案1】:

php代码

$diff = strtotime($intime) - strtotime($outtime);
echo date("h:i", strtotime($diff));

或者你可以试试

$diff    = abs( strtotime( $intime) - strtotime( $outtime) );
$hours   = floor($diff/ (60*60)); 
$minuts  = floor($diff / 60); 

【讨论】:

  • 第一个代码给我一个等于 1:00 的结果,即使我更改了 $intime 和 $outtime 并且第二个代码可能会给我正确的结果,但我必须通过 $hours = 6 的结果来修复它和 $minuts = 360 whet $intime = 08:00 和 $outtime = 14:00
【解决方案2】:

我试过这段代码,它解决了我的问题......

$intime = explode(':',@$_POST['intime']);
$outtime = explode(':',@$_POST['outtime']);
$hours = (($outtime[0]-$intime[0])*60+($outtime[1]-$intime[1]))/60;
$hours = floor($hours);
$minutes = (($outtime[0]-$intime[0])*60+($outtime[1]-$intime[1]))%60;
echo $hours.":".$minutes;

感谢所有回复^_^

【讨论】:

    【解决方案3】:

    试试这个,

    $firstTime = $_GET['intime']; // or POST
    $secondTime = $_GET['outtime'];
    
    list($firstMinutes, $firstSeconds) = explode(':', $firstTime);
    list($secondMinutes, $secondSeconds) = explode(':', $secondTime);
    
    $firstSeconds += ($firstMinutes * 60);
    $secondSeconds += ($secondMinutes * 60);
    $minute_difference = $secondSeconds - $firstSeconds; 
    $hour_difference =  $difference/60;
    

    【讨论】:

    • 谢谢你的回复...... $difference 给出的结果是 360,我不知道那是什么,因为我在 $firstTime 和 $secondTime 中放置了相同的分钟值......无论如何谢谢你的回复,因为你给了我一个解决这个问题的想法,我会把它作为答案^_^ ...谢谢
    • 360 表示 360 分钟。 (例如:上午 06:00 至下午 12:00)。那是您输入两次之间的差异。我添加了一个编辑来获得小时差。无论如何很高兴我能提供帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多