Ich benutze einen Code, um zu finden, wie viele Tage seit dem neuen Jahr (1. Januar) vergangen sind. Ich benutze diesen Code:PHP datediff Februar Ausgaben
$newyear = new DateTime("2017-01-01"); // January 1, 2017.
$today = new DateTime(); // March 6, 2017.
$difference = $newyear->diff($today);
Nun, wenn ich diesen Code verwenden, zeigt es die richtige Anzahl der Tage,
echo $difference->format("%a days"); // 64 days
aber wenn ich ein anderes Format verwenden, geht es schief.
echo $difference->format("%m months %d days"); // 2months 2 days.
Ich gehe davon aus, dies zu PHP Zählen Februar als 31 Tage lang fällig ist, so technisch ist es 31 + 31 + 2 Tage. Ich möchte, dass der Februar 28 oder 29 Tage lang ist, abhängig von der Schaltjahr-Bedingung. Ich denke, da muss etwas in der php.ini stehen. Was und wo zu ändern oder gibt es einen Hack?
Sache von der anderen Seite: Was sollte 'format()' tun, wenn '"% m Monate% d Tage "' angegeben wird. Dieser '1 Monat mit 28 Tagen 1 Monat mit 29 Tagen 2 Tagen' ?? Sie müssen es von Hand zählen und es selbst formatieren :-) – JustOnUnderMillions
es funktioniert gut: - https://eval.in/748856 –
@Anant Ich habe '2 Monate 2 Tage' auch, scheint, dass einige Konfiguration an Ort und Stelle kommt . Ignoriere meinen ersten Kommentar. :-) – JustOnUnderMillions