date_create
funkcja
Tworzy obiekt DateTime na podstawie tekstowego opisu daty. Zwraca false, gdy parsowanie się nie powiedzie.
date_create(string $datetime = "now", ?DateTimeZone $timezone = null): DateTime|false
date_create to proceduralna nakładka na konstruktor new DateTime(). Przyjmuje te same formaty co strtotime — daty w stylu Y-m-d, d.m.Y, wyrażenia względne jak +1 day, a bez argumentu tworzy obiekt dla bieżącej chwili. Opcjonalny $timezone to instancja DateTimeZone; jeśli go pominiesz, używana jest strefa ustawiona przez date_default_timezone_set. Zawsze sprawdzaj, czy wynik to nie false — szczególnie gdy data pochodzi od użytkownika.
<?php
declare(strict_types=1);
date_default_timezone_set('UTC');
$dt = date_create('2024-06-15 12:30:00');
if ($dt !== false) {
echo $dt->format('Y-m-d H:i:s'); // 2024-06-15 12:30:00
}
$dtWarsaw = date_create('2024-06-15 12:30:00', new DateTimeZone('Europe/Warsaw'));
if ($dtWarsaw !== false) {
echo $dtWarsaw->format('Y-m-d H:i:s P'); // 2024-06-15 12:30:00 +02:00
}