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