Php 在while循环中添加到日期

Php 在while循环中添加到日期,php,Php,我有一个日期进入用户指定的循环。日期将始终来自格式为“Y-m-d”字符串的数据库。我知道我可以直接比较字符串,只要它们是那种格式,但是,我也尝试使用strotime转换日期来比较它们,但没有运气。我试图确定一个用户在付款到期前有多少薪水 这是我的 $due_date = '2016-12-13'; //count paychecks set to zero and added to by loop $paychecks = 0; //users next pa

我有一个日期进入用户指定的循环。日期将始终来自格式为“Y-m-d”字符串的数据库。我知道我可以直接比较字符串,只要它们是那种格式,但是,我也尝试使用strotime转换日期来比较它们,但没有运气。我试图确定一个用户在付款到期前有多少薪水

这是我的

    $due_date = '2016-12-13';

    //count paychecks set to zero and added to by loop
    $paychecks = 0;

    //users next paycheck ('Y-m-d' ALWAYS)
    $next_payday = $user['next_payday']; //equal to '2016-12-02'

    //how often they get paid (int)
    $frequency = 14;

    while(strtotime($next_payday) <= strtotime($due_date)){

        //next_payday equals 1480654800 when coming into the loop
        //due_date equals 1481605200 when coming into the loop

        //add 14 days to the date
        $next_payday = date('Y-m-d', strtotime("+" .$frequency." days"));;

        //add to paychecks
        $paychecks++;
    }
$due_date='2016-12-13';
//计数设置为零并按循环添加到的工资支票
$paychecks=0;
//用户下一份工资单(“Y-m-d”始终)
$next_payday=$user['next_payday']//等于“2016-12-02”
//他们获得报酬的频率(整数)
$frequency=14;

虽然(strotime($next_payday)Ah,但一定要使用strotime获取整数(表示自上次发薪以来的秒数)进行比较,并将天数频率乘以一天中的秒数(86400):

$due_date=strottime('2016-12-25');
//计数设置为零并按循环添加到的工资支票
$paychecks=0;
//用户下一次支付支票(unixtime用于比较)
$next_payday=strotime($user['next_payday']);
//他们获得报酬的频率(整数)
$frequency=14;

while($next_payday)我已经更新了我的代码。即使在while语句中使用strotime将日期转换为int,循环仍在继续。我认为它在当前日期上增加了14天,这是一个错误。我错过了//add 14天到日期$next_payday+=($frequency*86400)别担心,我们都去过那里,有时我们甚至还得回去看看哈哈哈
$due_date = strtotime('2016-12-25');

//count paychecks set to zero and added to by loop
$paychecks = 0;

//users next paycheck (unixtime for comparison)
$next_payday = strtotime($user['next_payday']);

//how often they get paid (int)
$frequency = 14;

while($next_payday <= $due_date){

    //add 14 days to the date
    $next_payday += ($frequency * 86400);

    //add to paychecks
    $paychecks++;
}