date_create

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

date_create创建新的 DateTime 对象

描述

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

这是 DateTime::__construct() 的过程式版本。

DateTime 构造函数不同,如果传入的 datetime 字符串无效,它将返回 false 而不是异常。

返回值

返回一个新的 DateTime 实例,或者在失败时返回 false

参见

添加说明

用户贡献说明 1 个说明

A. Go
5 年前
注意 php 默认情况下将给定字符串假设为以下格式
'-' 是 'y-m-d'
'/' 是 'm/d/y'

除非给定字符串包含 Y 或 M,
即年份以全年形式编写 '2019',或月份以英文缩写形式编写 'Jan',
否则将应用默认假设,日期可能不正确。

以下代码显示了快速测试:(截至 php 7.2 为止有效)
$date = [
'2019-1-3',
'19-1-3',
'3-1-2019',
'3-Jan-19',
'3-1-19', // php 假设为 y-m-d 而不是 d-m-y

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

'2019/3/1',
'19/3/1', // 失败,php 认为是月份 19
'1/3/2019', // php 认为是 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