📅  最后修改于: 2023-12-03 15:03:36.455000             🧑  作者: Mango
date_create_from_format()
函数是PHP中用于将一个字符串转换成日期对象的函数。它接收两个参数,第一个是日期格式的字符串,第二个是包含日期字符串的字符串。
date_create_from_format( string $format , string $time [, DateTimeZone $timezone ] ) : DateTime|false
参数说明:
$format
:日期格式字符串,详细说明如下。$time
:包含日期字符串的字符串。$timezone
:时区对象,可选。返回值:
DateTime
。false
。格式字符串中的各种字符代表不同的日期或时间元素,如下所示:
字符 | 描述 ----|---- d | 月份中的第几天,有前导零(例如01、02、03等) D | 星期几的缩写名称(例如Mon、Tue、Wed等) j | 月份中的第几天,没有前导零(例如1、2、3等) l | 星期几的完整名称(例如Monday、Tuesday、Wednesday等) S | 月份中的后缀,用在日期上(例如1st、2nd、3rd等) F | 月份的完整名称(例如January、February、March等) m | 数字表示的月份,有前导零(例如01、02、03等) M | 月份的缩写名称(例如Jan、Feb、Mar等) n | 数字表示的月份,没有前导零(例如1、2、3等) Y | 四位数的完整表示的年份(例如1998、2002等) y | 两位数的简单表示的年份(例如98、02等) a | 小写的上午和下午(例如am、pm等) A | 大写的上午和下午(例如AM、PM等) g | 12小时制的小时数,没有前导零(例如1、2、3等) G | 24小时制的小时数,没有前导零(例如0、1、2等) h | 12小时制的小时数,有前导零(例如01、02、03等) H | 24小时制的小时数,有前导零(例如00、01、02等) i | 分钟数,有前导零(例如00、01、02等) s | 秒数,有前导零(例如00、01、02等) u | 微秒,有六位数字(例如001234等)
$dateString = '2022-03-28 10:30:00';
$dateObject = date_create_from_format('Y-m-d H:i:s', $dateString);
echo $dateObject->format('Y-m-d H:i:s'); // 输出:2022-03-28 10:30:00
在上面的示例中,日期字符串是2022-03-28 10:30:00
,字符串格式是Y-m-d H:i:s
,因此可以使用date_create_from_format()
函数将其转换成日期对象,并对其进行格式化输出。
$time
参数中的日期格式必须与$format
参数指定的日期格式匹配,否则将返回false
。$timezone
来设置,例如:date_create_from_format('Y-m-d H:i:s', '2022-03-28 10:30:00', new DateTimeZone('America/New_York'))
。如果$timezone
参数省略,则使用PHP默认时区。