我想$dayleft
裏面的else出現在"Y/n/j"
格式,但是當我運行它時,它只返回年份,發生了什麼?日期正在返回一個錯誤的值
代碼:
$select = mysqli_query($connect, $query_select);
$row = mysqli_fetch_row($select);
$idchange = $row['5'];
$date = DateTime::createFromFormat("Y-n-j", $idchange);
if (date('Y/n/j', strtotime("-60 days")) > $date){
echo "<br><a href='changeid.php'>Reset Machine_ID</a> - Status: <font color='green'>Available</font>";
}
else{
$dayleft = date('Y/n/j', strtotime("+60 days")) - $date;
echo "<br><a href='#'>Reset Machine_ID</a> - Status: <font color='red'>Unavailable</font> - Available Day: $dayleft";
}
你不能比較字符串'> '。使它們成爲整數,或使用'datediff'函數。 – chris85
'date()'產生一個字符串。你在數學比較和操作中使用字符串。結果會有些隨意。 – deceze
@ chris85我做到了:'if(date_diff(date('Y/n/j'),$ date)> = 60)'並且產生這個錯誤:'Warning:date_diff()期望參數1是DateTimeInterface,字符串在/home/u478317930/public_html/externalhack.php在線92 ' – Francisco