date_create

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_createErstellt ein neues DateTime-Objekt

Beschreibung

date_create(string $datetime = "now", ?DateTimeZone $timezone = null): DateTime|false

Dies ist die prozedurale Version von DateTime::__construct().

Anders als der DateTime-Konstruktor gibt diese Funktion false anstelle einer Exception zurück, wenn der übergebene Parameter datetime ungültig ist.

Parameter-Liste

Siehe DateTimeImmutable::__construct.

Rückgabewerte

Gibt eine neue DateTime-Instanz zurück. Bei einem Fehler wird false zurückgegeben.

Siehe auch

add a note add a note

User Contributed Notes 1 note

up
-1
A. Go
5 years ago
Notice php by default assume the give string as such format:
'-'    is    'y-m-d'
'/'    is    'm/d/y'

Unless the given string has Y or M,
that is year is written as full year '2019', or month is written as English shorthand 'Jan',
the default assumption will be applied, where the date might be incorrect.

The following code show a quick test: (true as of php 7.2)
$date = [
    '2019-1-3',
    '19-1-3',
    '3-1-2019',
    '3-Jan-19',
    '3-1-19', //php assume as y-m-d not d-m-y

    '2019-3-1',
    '19-3-1',
    '1-3-2019',
    '1-3-19',

    '2019/3/1',
    '19/3/1', //fail, php think is month 19
    '1/3/2019', //php think is m/d/y
    '1/3/19'
];

//Y-M-d
foreach($date as $i => $d){
    echo $i ."\r\n";
    var_dump(date_format(date_create($d), 'Y-M-d'));
    echo "\r\n";
}
To Top