1
我有進入一個循環,用戶指定的日期。日期將始終來自格式化爲'Y-m-d'字符串的數據庫。我知道我可以直接比較字符串,只要它們是這種格式,但是,我也嘗試使用strtotime來轉換日期以比較它們,但沒有運氣。我想,以確定用戶有多少片酬已收到付款是由於添加到日期while循環
這裏是我有什麼
$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++;
}
的問題是,循環永遠不會停止。它不斷前進。
感謝所有幫助任何人都可以給我。
我已經更新了我的代碼。該循環不斷使用的strtotime將日期轉換爲int在while語句時繼續偶數。我認爲它與當前日期 – kevin3954
增加了14天的混淆,你是否更新了最新的問題? – WEBjuju
我錯過了//添加14日到日期 $ next_payday + =($ frequency * 86400) – kevin3954