Ich möchte $dayleft
innerhalb der sonst in "Y/n/j"
Format erscheinen, aber wenn ich es ausführen, gibt es nur das Jahr, was passiert ist?Datum gibt einen falschen Wert
Code:
$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";
}
Sie können nicht vergleichen Strings mit '> '. Machen Sie sie zu ganzen Zahlen oder verwenden Sie die 'datediff'-Funktion. – chris85
'date()' erzeugt eine Zeichenkette. Sie verwenden Zeichenfolgen in mathematischen Vergleichen und Operationen. Die Ergebnisse werden etwas zufällig sein. – deceze
@ chris85 Ich habe das getan: 'if (date_diff (Datum ('Y/n/j'), $ date)> = 60)' und produziert diesen Fehler: 'Warnung: date_diff() erwartet Parameter 1 DateTimeInterface, string in /home/u478317930/public_html/externalhack.php on line 92 ' – Francisco