Php 根据当前时间向时间添加分钟数

Php 根据当前时间向时间添加分钟数,php,wordpress,time,timestamp,Php,Wordpress,Time,Timestamp,我正在试图找出一种基于当前时间更改值的方法,目前我正在使用以下代码在下单时添加特定的分钟数 $job_description = 'Order '.$order_id; $order_created = $order->get_date_created()->format ('Y-m-d H:i:s'); $minutes_to_add = 170; $order_created_obj = new DateTime($order_created); $order_created_

我正在试图找出一种基于当前时间更改值的方法,目前我正在使用以下代码在下单时添加特定的分钟数

$job_description = 'Order '.$order_id;
$order_created = $order->get_date_created()->format ('Y-m-d H:i:s');

$minutes_to_add = 170;
$order_created_obj = new DateTime($order_created);
$order_created_obj->add(new DateInterval('PT' . $minutes_to_add . 'M'));
$job_pickup_datetime = $order_created_obj->format('Y-m-d H:i:s');

$minutes_to_add = 240;
$order_created_obj = new DateTime($order_created);
$order_created_obj->add(new DateInterval('PT' . $minutes_to_add . 'M'));
$job_delivery_datetime = $order_created_obj->format('Y-m-d H:i:s');
这很好(除了$minutes_to_add=170由于某种原因只增加了当前时间的30分钟,但我一直在忍受它) 但后来我发现需要根据当前时间(或主要是订单时间)将$minutes_to_add value更改为不同的值,我编写了以下代码并在WooCommerce上进行了测试,但它给出了严重错误,并且没有传递订单详细信息

// Pickup time

$current_time = get_current_time()->format ('H:i:s');

if ($current_time >= '14:30:00' && $current_time <= '17:00:00') {
    $minutes_to_add = 100;
} elseif ($current_time >= '17:00:00' && $current_time < '18:00:00'){
    $minutes_to_add = 250;
} elseif ($current_time >= '18:00:00' && $current_time < '19:00:00'){
    $minutes_to_add = 300;
} else {
    $minutes_to_add = 170;
}
    
$order_created_obj = new DateTime($order_created);
$order_created_obj->add(new DateInterval('PT' . $minutes_to_add . 'M'));
$job_pickup_datetime = $order_created_obj->format('Y-m-d H:i:s');


// delivery time

$current_time = get_current_time()->format ('H:i:s');

if ($current_time >= '14:30:00' && $current_time <= '17:00:00') {
    $minutes_to_add = 130;
} elseif ($current_time >= '17:00:00' && $current_time < '18:00:00'){
    $minutes_to_add = 280;
} elseif ($current_time >= '18:00:00' && $current_time < '19:00:00'){
    $minutes_to_add = 330;
} else {
    $minutes_to_add = 200;
}

$order_created_obj = new DateTime($order_created);
$order_created_obj->add(new DateInterval('PT' . $minutes_to_add . 'M'));
$job_delivery_datetime = $order_created_obj->format('Y-m-d H:i:s');
//拾取时间
$current_time=get_current_time()->格式('H:i:s');
如果($current\u time>='14:30:00'&&$current\u time='17:00:00'&&&$current\u time<'18:00:00'){
$minutes_to_add=250;
}elseif($current\u time>='18:00:00'&&$current\u time<'19:00:00'){
$minutes_to_add=300;
}否则{
$minutes_to_add=170;
}
$order\u created\u obj=新日期时间($order\u created);
$order_created_obj->add(新日期间隔('PT'.$minutes_to_add.M');
$job_picku_datetime=$order_created_obj->format('Y-m-dh:i:s');
//交货时间
$current_time=get_current_time()->格式('H:i:s');
如果($current\u time>='14:30:00'&&$current\u time='17:00:00'&&&$current\u time<'18:00:00'){
$minutes_to_add=280;
}elseif($current\u time>='18:00:00'&&$current\u time<'19:00:00'){
$minutes_to_add=330;
}否则{
$minutes_to_add=200;
}
$order\u created\u obj=新日期时间($order\u created);
$order_created_obj->add(新日期间隔('PT'.$minutes_to_add.M');
$job_delivery_datetime=$order_created_obj->format('Y-m-dh:i:s');

我找到了解决方案,将在有人需要时发布

// Order info
$job_description = 'Order '.$order_id;
$order_created = date( 'Y-m-d H:i:s', $order->get_date_created ()->getOffsetTimestamp());
$current_time = date( 'H:i:s', $order->get_date_created ()->getOffsetTimestamp());
$minutes_to_add = 0;

if ($current_time >= "00:00:00" && $current_time < "01:00:00") {
    $minutes_to_add = 600;
} elseif ($current_time >= "01:00:00" && $current_time < "02:00:00"){
    $minutes_to_add = 615;
} elseif ($current_time >= "02:00:00" && $current_time < "03:00:00"){
    $minutes_to_add = 570;
} elseif ($current_time >= "03:00:00" && $current_time < "04:00:00"){
    $minutes_to_add = 525;
} elseif ($current_time >= "23:00:00" && $current_time <= "23:59:59"){
    $minutes_to_add = 720;
} else {
    $minutes_to_add = 30;
}
    
$order_created_obj = new DateTime($order_created);
$order_created_obj->add(new DateInterval('PT' . $minutes_to_add . 'M'));
$job_pickup_datetime = $order_created_obj->format('Y-m-d H:i:s');
$current_time = date( 'H:i:s', $order->get_date_created ()->getOffsetTimestamp());


$minutes_to_add_de = 0;
if ($current_time >= "00:00:00" && $current_time < "01:00:00") {
    $minutes_to_add_de = 630;
} elseif ($current_time >= "01:00:00" && $current_time < "02:00:00"){
    $minutes_to_add_de = 645;
} elseif ($current_time >= "02:00:00" && $current_time < "03:00:00"){
    $minutes_to_add_de = 600;
} elseif ($current_time >= "22:00:00" && $current_time < "23:00:00"){
    $minutes_to_add_de = 795;
} elseif ($current_time >= "23:00:00" && $current_time <= "23:59:59"){
    $minutes_to_add_de = 750;
} else {
    $minutes_to_add_de = 60;
}
//订单信息
$job\u description='Order'。$Order\u id;
$order_created=date('Y-m-dh:i:s',$order->get_date_created()->getOffsetTimestamp());
$current_time=date('H:i:s',$order->get_date_created()->getOffsetTimestamp());
$minutes_to_add=0;
如果($当前时间>=“00:00:00”&&$当前时间<“01:00:00”){
$minutes_to_add=600;
}elseif($当前时间>=“01:00:00”&&$当前时间<“02:00:00”){
$minutes_to_add=615;
}elseif($current\u time>=“02:00:00”&&$current\u time<“03:00:00”){
$minutes_to_add=570;
}elseif($当前时间>=“03:00:00”&&$当前时间<“04:00:00”){
$minutes_to_add=525;
}elseif($current_time>=“23:00:00”&&$current_time add(新的日期间隔('PT.$minutes_to_add.M'));
$job_picku_datetime=$order_created_obj->format('Y-m-dh:i:s');
$current_time=date('H:i:s',$order->get_date_created()->getOffsetTimestamp());
$minutes\u to\u add\u de=0;
如果($当前时间>=“00:00:00”&&$当前时间<“01:00:00”){
$minutes_to_add_de=630;
}elseif($当前时间>=“01:00:00”&&$当前时间<“02:00:00”){
$minutes_to_add_de=645;
}elseif($current\u time>=“02:00:00”&&$current\u time<“03:00:00”){
$minutes_to_add_de=600;
}elseif($当前时间>=“22:00:00”&&$当前时间<“23:00:00”){
$minutes_to_add_de=795;

}elseif($current\u time>=“23:00:00”&$current\u time您能否详细说明“不工作”。您期望得到什么结果以及会发生什么情况?我正在编辑一个现有的WP插件,该插件将信息传递到外部,我期望的内容已经解释过了,我需要根据当前(或订单)添加几分钟到$minutes\u时间。我想添加if语句,并检查当前时间,并在此基础上添加分钟。我编写的是崩溃的API,没有任何外部信息。如果崩溃,您可能需要检查服务器上的PHP错误日志。我能够找到解决方案,将在下一步发布。谢谢