Próbuję wielu podejść, ale potem utknąłem w połowie.PHP. Jak uzyskać dwumiesięczne powtarzające się wydarzenie?
Powiedzmy, że zamówienie zostało utworzone dzisiaj. Muszę wyświetlić, kiedy pojawi się następne zamówienie cykliczne. Tak więc mam zlecenie utworzone 13 czerwca 2012 r. Następnie ustaliłem harmonogram składany co dwa miesiące, co 1 dzień miesiąca. Jak obliczyć, kiedy nastąpi kolejne zamówienie cykliczne? Odpowiedź jest 1 sierpnia.
Jeśli ktoś może nakreślić podejście, byłoby bardzo użyteczne, nie musi to być kod. To, co mam tak daleko ...
// first, get starting date
$start_date_month = date('m', strtotime($start_date));
// get this year
$this_year = date('Y');
// if this month is december, next month is january
$this_month = date('m', $timestamp_month);
if($this_month == 12){
$next_month = 1;
// if this month is not december add 1 to get next month
}else{
$next_month = $this_month + 1;
}
// get array of months where recurring orders will happen
$months = array();
for ($i=1; $i<=6; $i++) {
$add_month = $start_date_month+(2*$i); // 2, 4, 6, 8, 10, 12
if($add_month == 13){$add_month = 1;$year = $this_year+1;}
elseif($add_month == 14){$add_month = 2;$year = $this_year+1;}
elseif($add_month == 15){$add_month = 3;$year = $this_year+1;}
elseif($add_month == 16){$add_month = 4;$year = $this_year+1;}
elseif($add_month == 17){$add_month = 5;$year = $this_year+1;}
elseif($add_month == 18){$add_month = 6;$year = $this_year+1;}
elseif($add_month == 19){$add_month = 7;$year = $this_year+1;}
elseif($add_month == 20){$add_month = 8;$year = $this_year+1;}
else{$year = $this_year;}
echo $what_day.'-'.$add_month.'-'.$year.'<br />';
$months[] = $add_month;
}
echo '<pre>';
print_r($months);
echo '</pre>';
Nie chcę po prostu dowiedzieć jaka jest data w ciągu dwóch miesięcy od teraz. Załóżmy, że zamówienie zostało utworzone 1 czerwca. Następne zamówienie cykliczne to 1 sierpnia. Załóżmy teraz, że dzisiaj jest 1 września, ale kolejne zamówienie cykliczne to 1 października. Widzisz mój dylemat?
Czy chcesz ** tylko ** kolejną datę od dzisiaj lub wszystkie powtarzające się daty od utworzenia do następnego włącznie? – salathe
Nie widzę twojego dylematu. Dlaczego 1 września ma znaczenie? Jak to się dzieje w przypadku problemu z zamówieniami cyklicznymi? – afuzzyllama
Ponieważ zamówienie zostało utworzone dzisiaj, 13 czerwca łatwo jest wymyślić kolejne zamówienie cykliczne. Łatwo też wymyślić zestaw wszystkich kolejnych 6 powtarzających się zamówień. Teraz, jeśli dzisiaj byłby 1 września, jak obliczyć następne zamówienie cykliczne? Wszystko, co trzeba obliczyć, to JEDNA data, tylko kolejne zamówienie cykliczne. – leonel