Får inte till det här på ett snyggt sätt så tänkte höra om någon har lite tips. Jag förstår inte logiken bakom. Tack för tipset, det var ungefär det där spåret jag var inne på. Nu när jag försökte fundera ut hur jag skulle förklara problemet kom jag på en lösning.Logikproblrem, loopa ut datumlista.
Vill ha en lista med datum 1a och 15e varje månad 3 mån framåt listan ska ändras 13e och 28e varje månad och börja med ett datum som är minst 2 v fram i tiden.
t.ex. 4 februari ska den lista:
1 mars
15 mars
1 april
15 april
1 maj
15 maj
ex: 13 februari vill jag lista:
15 mars
1 april
15 april
1 maj
15 maj
1 juni
ex: 28e februari:
1 april
15 april
1 maj
15 maj
1 juni
15 juni
osv..Sv: Logikproblrem, loopa ut datumlista.
"Vill ha en lista med datum 1a och 15e varje månad 3 mån framåt."
Detta är ju förstås lätt?
ex (någon galen halvpseudo):
function GetAllMonths(fromdate)
if day(fromdate)=1 then
count_in_month = 0
month = month(fromdate)
elseif day(fromdate)<=15 then
count_in_month = 1
month = month(fromdate)
else
count_in_month = 0
month = month(fromdate) + 1
for (i = 0:i<6;i++)
if count_in_month = 0 {
adddate (date(y, month, 1))
count_in_month =1
}
else{
adddate (date(y, month, 15))
month++; count_in_month = 0
}
Men hur det andra funkar, dvs vad som ska skickas in som argument till detta, är jag inte alls med på. Vilken är regeln, 13e och 28e, eller två veckor framåt? Kombinerar du det blir det ju skumt.Sv:Logikproblrem, loopa ut datumlista.
$next_month = strtotime('+1 month');
$in_two_month = strtotime('+2 month');
$current_day = date('j');
if($current_day < 13)
$start_date = strtotime(date('Y-m-01', $next_month));
elseif($current_day >= 28)
$start_date = strtotime(date('Y-m-01', $in_two_month));
else
$start_date = strtotime(date('Y-m-15', $next_month));
$date = $start_date;
for($i = 0; $i < 6; $i++) {
echo date('Y-m-d', $date);
echo "<br />";
if(date('j', $date) == 1)
$date = strtotime(date('Y-m-15',$date));
else { // 15..
$date = strtotime('+1 month', $date);
$date = strtotime(date('Y-m-01', $date));
}
}
Gillar inte alls datumhanteringen i PHP... blir rätt virrigt när man måste växla mellan strängdatum och timestamps.