DATE_CREATE () ist eine Funktion, mit der ein variables DateTime -Objekt erstellt wird. Wenn Sie diese Funktion aufrufen, können Sie ein DateTime -Objekt erstellen, das das aktuelle Datum und die aktuelle Uhrzeit darstellt, oder ein bestimmtes Datum erstellen, indem Sie eine bestimmte Datumszeichenfolge übergeben.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$datetime</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_create</span></span><span>(</span><span><span class="hljs-string">'2025-06-21 12:00:00'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$datetime</span></span><span>-></span><span><span class="hljs-title function_ invoke__">format</span></span><span>(</span><span><span class="hljs-string">'Y-m-d H:i:s'</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
charakteristisch :
DATE_CREATE () gibt ein datetime -Objekt zurück, das veränderlich ist. Sie können seinen Wert ändern, indem Sie die Methode des Objekts aufrufen.
Objektmethoden wie modify () , add () , sub () usw. Ermöglichen Sie Datum und Uhrzeit.
<span><span><span class="hljs-variable">$datetime</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_create</span></span><span>(</span><span><span class="hljs-string">'2025-06-21 12:00:00'</span></span><span>);
</span><span><span class="hljs-variable">$datetime</span></span><span>-></span><span><span class="hljs-title function_ invoke__">modify</span></span><span>(</span><span><span class="hljs-string">'+1 day'</span></span><span>); </span><span><span class="hljs-comment">// Ändern Sie bis zum nächsten Tag der aktuellen Zeit</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$datetime</span></span><span>-></span><span><span class="hljs-title function_ invoke__">format</span></span><span>(</span><span><span class="hljs-string">'Y-m-d H:i:s'</span></span><span>); </span><span><span class="hljs-comment">// Ausgabe des geänderten Datums</span></span><span>
</span></span>
DATE_CREATE_IMMAINGLE () ist ähnlich wie Datum_Create () und wird auch zum Erstellen von Datumsobjekten verwendet. Dies bedeutet, dass sein Datum und seine Uhrzeit, sobald das Objekt erstellt wurde, nicht mehr geändert werden kann.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$datetimeImmutable</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_create_immutable</span></span><span>(</span><span><span class="hljs-string">'2025-06-21 12:00:00'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$datetimeImmutable</span></span><span>-></span><span><span class="hljs-title function_ invoke__">format</span></span><span>(</span><span><span class="hljs-string">'Y-m-d H:i:s'</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
charakteristisch :
DATE_CREATE_IMMAUTLE () gibt ein datetimeMimmable -Objekt zurück, das unveränderlich ist und das Datum und die Uhrzeit nach der Erstellung nicht durch Methoden ändern kann.
Sie können den Wert des DateTimeMimmable -Objekts nicht direkt ändern, aber den Effekt "Ändern" durch Rückgabe eines neuen Objekts.
<span><span><span class="hljs-variable">$datetimeImmutable</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_create_immutable</span></span><span>(</span><span><span class="hljs-string">'2025-06-21 12:00:00'</span></span><span>);
</span><span><span class="hljs-variable">$newDatetime</span></span><span> = </span><span><span class="hljs-variable">$datetimeImmutable</span></span><span>-></span><span><span class="hljs-title function_ invoke__">modify</span></span><span>(</span><span><span class="hljs-string">'+1 day'</span></span><span>); </span><span><span class="hljs-comment">// Geben Sie ein neues Objekt zurück</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$newDatetime</span></span><span>-></span><span><span class="hljs-title function_ invoke__">format</span></span><span>(</span><span><span class="hljs-string">'Y-m-d H:i:s'</span></span><span>); </span><span><span class="hljs-comment">// Ausgabe des geänderten Datums</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$datetimeImmutable</span></span><span>-></span><span><span class="hljs-title function_ invoke__">format</span></span><span>(</span><span><span class="hljs-string">'Y-m-d H:i:s'</span></span><span>); </span><span><span class="hljs-comment">// Das ursprüngliche Datum ausgeben,Nicht verändert</span></span><span>
</span></span>
Merkmal | DATE_CREATE () | DATE_CREATE_IMMAUTLE ()) |
---|---|---|
Rückgabetyp | Datetime | DateTimeMimmable |
Kann das Objekt geändert werden? | Kann geändert werden | Nicht modifiziert |
Szenarien verwenden | Geeignet für Szenarien, in denen Daten geändert werden müssen | Geeignet für Szenarien, in denen Sie das Originaldatum nicht ändern möchten |
Verwenden Sie DATE_CREATE () :
Wenn Sie das Datum ändern müssen, ist es angemessener, Datum_Create () zu verwenden. Es ermöglicht eine direkte Änderung von Datums- und Zeitobjekten, z. B. durch Methoden wie modify () , add () usw.
Wenn Ihre Bewerbung die Datumszeitwerte häufig anpassen und manipulieren muss, bietet DATE_CREATE () mehr Flexibilität.
Verwenden Sie DATE_CREATE_IMMAUTLE () :
Wenn Sie sicherstellen möchten, dass Datumsobjekte unveränderlich sind, und sicherstellen, dass sie bei der Verarbeitung von Daten nicht versehentlich geändert werden, ist es eine sicherere Option, wenn date_create_immable () eine sicherere Option ist.
In Multithread- oder gleichzeitigen Szenarien kann die Verwendung unveränderlicher Objekte einige potenzielle Parallelitätsprobleme vermeiden, da unveränderliche Objekte nicht durch externe Modifikationen beeinflusst werden.
Obwohl Date_Create () und DATE_CREATE_immable () beide Datumsobjekte erstellen, ist der Schlüsselunterschied zwischen ihnen die Veränderbarkeit. DATE_CREATE () gibt ein Objekt zurück, das geändert werden kann, und date_create_immable () gibt ein unveränderliches Objekt zurück. Welche Funktion zu wählen ist, hängt von Ihren Anwendungsanforderungen ab. Wenn eine flexible Datumsänderung erforderlich ist, ist DATE_CREATE () eine geeignetere Wahl. Wenn Sie sicherstellen müssen, dass das Objekt nicht unerwartet geändert wird, ist DATE_CREATE_IMMAUTAR () die beste Wahl.