繁体   English   中英

PHP 获取今天和昨天的日期

[英]PHP Get date today and yesterday

在此处输入图片说明

可能数据 > 3 如果有更改/更新。

如何设置放置日期的逻辑(昨天/今天),我在签到时发送了 2 个参数(现在)

例如我在 2020-09-04 01:24 出现。 日期有 1 个数据偏移必须不同

我想用这样的日期设置班次。

时间:2020-09-03 22:00

超时时间:2020-09-04 02:00

这是我的代码

<?php
$date = '2020-09-03';
$time = '01:50';

$arr = [];
$data_1 = array(
    'time_in' =>'04:00',
    'time_out'=>'10:00');
$data_2 = array(
    'time_in' =>'12:00',
    'time_out'=>'21:00');
$data_3 = array(
    'time_in' =>'22:00',
    'time_out'=>'02:00');
$arr[] = $data_1;
$arr[] = $data_2;
$arr[] = $data_3;

$new_data = [];
foreach($arr as $v){
    $time_in  = $v['time_in'];
    $time_out = $v['time_out'];
    
    $push_with_date = array(
    'time_in' =>$time_in,
    'time_out'=>$time_out);
        
    $new_data[] = $push_with_date; // i want push time with date
}

echo "<pre>";
print_r($new_data);
echo "</pre>";
?>

帮我谢谢

我给你做了一个代码。 请检查逻辑。

function changeHour($time) {
  $times = explode(":", $time);
  return (count($times) > 1) ? intval($times[0]) * 60 + intval($times[1]) : intval($times[0]) * 60;
}

function is_yesterday($time1, $time2) {
  if (changeHour($time1) <= changeHour($time2)) {
    return false;
  }

  return true;
}

$date = '2020-09-03';
$time = '01:50';

$ydate = date("Y-m-d",strtotime($date) - 86400);



$arr = [];
$data_1 = array(
    'time_in' =>'04:00',
    'time_out'=>'10:00');
$data_2 = array(
    'time_in' =>'12:00',
    'time_out'=>'21:00');
$data_3 = array(
    'time_in' =>'22:00',
    'time_out'=>'02:00');
$arr[] = $data_1;
$arr[] = $data_2;
$arr[] = $data_3;

$new_data = [];
foreach($arr as $v){
    $time_in  = $v['time_in'];
    $time_out = $v['time_out'];
    
    if (is_yesterday($time, $time_out)) {

      $time_in = "$ydate $time_in";
      $time_out = "$ydate $time_out";
      
    } else {
      
      if (is_yesterday($time_in, $time_out)) {
        $time_in = "$ydate $time_in";
      } else {
        $time_in = "$date $time_in";
      }
      
      $time_out = "$date $time_out";      
    }
    $push_with_date = array(
    'time_in' =>$time_in,
    'time_out'=>$time_out);
        
    $new_data[] = $push_with_date; // i want push time with date
}

echo "<pre>";
print_r($new_data);
echo "</pre>";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM