开发者

Adding a date every few days

开发者 https://www.devze.com 2022-12-28 19:37 出处:网络
I have some code that generates fixtures, I am looking to add a fixture date to the code. $totalRounds = $teams - 1;

I have some code that generates fixtures, I am looking to add a fixture date to the code.

$totalRounds = $teams - 1;
    $matchesPerRound = $teams / 2;
    $rounds = array();
    for ($i = 0; $i < $totalRounds; $i++) {
        $rounds[$i] = array();
    }

    for ($round = 0; $round < $tota开发者_如何学PythonlRounds; $round++) {
        for ($match = 0; $match < $matchesPerRound; $match++) {
            $home = ($round + $match) % ($teams - 1);
            $away = ($teams - 1 - $match + $round) % ($teams - 1);
            // Last team stays in the same place while the others
            // rotate around it.
            if ($match == 0) {
                $away = $teams - 1;
            }

            $rounds[$round][$match] = "$user[$home]~$team[$home]@$user[$away]~$team[$away]";
        }
    }

$team is the amount of teams in the league. I want to add a variable for every 4 days, and for every round of fixtures generated, I want to add 4 days onto the previous round.

For example, if today is 3rd may, i want 3rd may for first fixture, 7th may for second fixture, 11th may for third fixture.

By fixture i mean round which includes a set of fixtures!

How do I add 4 days to a strotime variable everytime the rounds increase?


Have you looked into strtotime? It allows syntax like the following:

$future_date = strtotime('+4 days');
$even_further_in_the_future = strtotime('+4 days', $future_date);
$arbitrary_start_date = strtotime('+4 days', strtotime('May 25th, 2010'));


If I understand your question correctly, you just want each round to have an associated date. You've got an array of $rounds, so could you not just create a correspondingly-keyed array to hold the round dates?

...
$rounds = array();
$roundDates = array();
$curTime = time();
for ($i = 0; $i < $totalRounds; $i++) {
    $rounds[$i] = array();
    $numDays = $i * 4;
    $roundDates[$i] = strtotime("+".$numDays." days",$curTime);
}

foreach($roundDates as $time) echo date("Y-m-d",$time)."\n";
//gives
//2010-05-03
//2010-05-07
//2010-05-11
//etc
0

精彩评论

暂无评论...
验证码 换一张
取 消