我需要关于代码日期的帮助。
我有一个市政当局有一定的任期:
$Dispatch = array ( "Monday" , "Friday" , "Saturday" ) ;
办公室2个工作日订单之后,如果我在周一询问
应该在周三到达我,但由于周三不在的日期范围内
,货物应该在周五最接近日期的时候到达我这里
另一个例子是,如果我要求周六的一天,我应该在周一到达,并被列为可交付。
$dias = array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado");
$meses = array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
$despacho = array("Lunes","Viernes","Sabado");
$dia_actual = $dias[date('w')];
$dia_actual_normal = $dias[date('w')+2];
if(in_array($dia_actual_normal,$despacho))
{
$actual = $dia_actual_normal;
}
我有这个,但我不知道更多。
我稍微更改了您的代码
// index of normal actual day
$i = (date('w')+2) % 6;
// find 1st ocurrence in despacho array
while ( ! in_array($dias[$i], $despacho)) $i = ($i+1) % 6;
$actual = $dias[$i];
只需为您的业务增加天数,直到达到您想要的日期:
$desired_day = Datetime::createFromFormat('Y-m-d', '2016-05-18');
$Dispatch = array ( "Monday" , "Friday" , "Saturday" );
$interval = DateInterval::createfromdatestring('+1 day');
while(!in_array($desired_day->format('l'), $Dispatch)) {
$desired_day->add($interval);
}
return $desired_day->format('l');
$dias = array("Lunes","Martes","Miercoles","Jueves","Viernes","Sabado","Domingo");
$meses = array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
$despacho = array("Martes","Viernes","Sabado");
$dia_actual = $dias[date('w')];
$dia_actual_normal = $dias[date('w')+2];
$i = (date('w')+2) % 6;
// find 1st ocurrence in despacho array
while ( ! in_array($dias[$i], $despacho)) $i = ($i+1) % 6;
$actual1 = $dias[$i];
print_r($actual1);
exit();
但不工作,因为今天是星期三,所以应该是星期五:S
帮助我