我在代码日期需要帮助。
我有一个有特定日子的市政当局:
$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;
}
我有这个,但我不知道更多。
答案 0 :(得分:0)
只需为您的业务添加天数,直到达到您想要的日期:
$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');
答案 1 :(得分:0)
我稍微改变了你的代码
// 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];
答案 2 :(得分:0)
$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
帮帮我