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
}