php - 比较时间范围并计算时间差

标签 php mysql time

我想确定给定的日期时间值是否在时间范围内,然后将 $actual_dateOut 和 $range_dateOut 之间的时间差插入数据库。

数据示例:

$actual_dateIn  = "2013-06-01 06:54:00" 
$actual_dateOut = "2013-06-01 19:20:00"

$range_dateIn     = "08:00:00"
$range_dateOut    = "18:00:00"

这是我到目前为止所做的:

 date_default_timezone_set("UTC");
 $dateIn  =  date($actual_dateIn, time());
 $dateOut =  date($actual_dateOut, time());


 if($dateIn <= strtotime($range_dateIn) && $dateOut <= strtotime($range_dateOut))
 {
    $ot = $range_dateOut->diff($strtotime($actual_dateOut));
    $hours = $ot->h;


    $sql_insert = "INSERT INTO tbl_ot (id, fDate, shiftCode, ot ) 
                   VALUES ('$id', '$actual_dateIn', '$shift', '$hours')";

    $result_ot = mysql_query($sql_insert);  
 }

但它不会计算 $actual_dateOut 和 $range_dateOut 之间的差异。

最佳答案

您可以通过以下方式执行此操作(选中): 注意力: 1. 这段代码中$shift为空。 2.您需要决定如何将time_difference以秒为单位转换为小时

$actual_dateIn  = "2013-06-01 06:54:00";
$actual_in_arr = explode(' ', $actual_dateIn);

$actual_dateOut = "2013-06-01 17:20:00";
$actual_out_arr = explode(' ', $actual_dateOut);

$actual_in_time = strtotime(date('Y-m-d').' '.$actual_in_arr[1]);
$actual_out_time = strtotime(date('Y-m-d').' '.$actual_out_arr[1]);

$range_dateIn     = "08:00:00";
$range_dateOut    = "18:00:00";
$range_in_time = strtotime(date('Y-m-d').' '.$range_dateIn);
$range_out_time = strtotime(date('Y-m-d').' '.$range_dateOut);

 if($actual_in_time <= $range_in_time && $actual_out_time <= $range_out_time)
 {   
    $time_difference = $range_out_time - $actual_out_time;
    $hours = round( $time_difference/60/60, 2 );
    $sql_insert = "INSERT INTO tbl_ot (id, fDate, shiftCode, ot ) 
                   VALUES ('$id', '$actual_dateIn', '$shift', '$hours')";
    $result_ot = mysql_query($sql_insert);  
 }

关于php - 比较时间范围并计算时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17184482/

相关文章:

mysql - SQL - LEFT JOIN 多个条件 - 优先级

c - 自纪元以来的打印时间(以纳秒为单位)

php - 如何求和N次(HH :MM Format)?

excel - 时间表公式在时间范围内按用户显示百分比

php - 如何为所需的资源 Controller 操作调用过滤器?

php - 连接函数的 SQL 问题

mysql - 如何解决安装 xampp 服务器时出现 api-ms-win-crt-runtime-|l1-1-0.dll 错误

php - 似乎无法从 PHP date() 中转义字符;

php - 检查字符串是否是有效的 PHP 代码

php - 防止多次手动执行外部 PHP 脚本