DateTime::createFromFormat

date_create_from_format

(PHP 5 >= 5.3.0, PHP 7)

DateTime::createFromFormat -- date_create_from_format���ݸ����ĸ�ʽ��������ʱ���ַ���

˵��

���������

public static DateTime::createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] ) : DateTime

���̻����

date_create_from_format ( string $format , string $time [, DateTimeZone $timezone ] ) : DateTime

�� time ��������������ʱ���ַ����� ���� format ���������ĸ�ʽ ����Ϊһ���µ� DateTime ����

����

format

�ڽ�������ʱ���ַ�����ʱ��ʹ�õĸ�ʽ string�� �μ����еĸ�ʽ�嵥�� �󲿷ָ�ʽ�� date() �����еĸ�ʽ��һ�µġ�

format ������֧�ֵ��ַ�
format �е��ַ� ���� ʾ��
�� --- ---
d �� j һ�����еĵڼ��죬2 λ���ֱ�ʾ����ǰ�� 0 ������ǰ�� 0 01 �� 31 ���� 1 �� 31
D �� l ���ڼ������ֱ�ʾ Mon �� Sun ���� Sunday �� Saturday
S 2 ����ĸ��ʾ��һ�����еĵڼ��죨�����ʣ��� �ڽ��н�����ʱ��ᱻ���� st��nd��rd ���� th��
z һ���еĵڼ��죬�� 0 ��ʼ 0 �� 365
�� --- ---
F �� M �ı���ʾ���·ݣ����� January ���� Sept January �� December ���� Jan �� Dec
m �� n ��ֵ��ʾ���·ݣ���ǰ�� 0 ������ǰ�� 0 01 �� 12 or 1 �� 12
�� --- ---
Y 4 λ���ֱ�ʾ���� ���磺1999 �� 2003
y 2 λ���ֱ�ʾ���꣬ ���õķ�Χ�� 1970 �� 2069�������� ���磺 99 �� 03 ����ʾ 1999 �� 2003��
ʱ�� --- ---
a �� A ���硢���� am �� pm
g and h 12 Сʱ�Ƶ�Сʱ����ǰ�� 0 ������ǰ�� 0 1 �� 12 ���� 01 �� 12
G �� H 24 Сʱ�Ƶ�Сʱ����ǰ�� 0 ������ǰ�� 0 0 �� 23 �� 00 �� 23
i ���ӣ���ǰ�� 0 00 �� 59
s �룬��ǰ�� 0 00 �� 59
u ΢�룬��ൽ 6 λ���� ʾ����45��654321
ʱ�� --- ---
e��O, P �� T ʱ�����ƣ��������� UTC ʱ��Ϊ��׼��Сʱƫ������ �������� UTC Ϊ��׼��Сʱ�ͷ��ӵ�ƫ������ Сʱ�ͷ���֮����ð�ţ�:���ָ��� ʾ����UTC��GMT�� Atlantic/Azores �� +0200 �� +02:00 �� EST��MDT
���������ں�ʱ�� --- ---
U �� Unix Epoch (January 1 1970 00:00:00 GMT) ��ʼ�����ʱ�䣬����Ϊ��λ ʾ����1292177455
�հ��ַ��ͷָ��ַ� --- ---
���ո� һ���ո��ַ�����һ�� tab �ַ� ʾ����
# ������һ�·ָ������е�����һ���� ;�� :��/��.�� ,��-��( �� ) ʾ����/
;�� :��/��.�� ,��-��( �� ) �����ַ� ʾ����-
? ����ֽ� ʾ����^ ����Ҫע����ǣ� ���� UTF-8 �ַ������ܻ���Ҫ��� ?�� ��������£���ʹ�� *��
* ����ֽڣ�ֱ��������һ����Ч�ķָ����Ż�����ֵ ʾ����ʹ�� Y-*-d ��ʽ�������� 2009-aWord-08 �ַ�����ʱ�� * ��ƥ�� aWord
! �����е��ֶΣ��ꡢ�¡��ա�ʱ���֡��롢΢���Լ�ʱ�������õ� Unix Epoch ʱ�䡣 �����ʹ�� !, ��ʽ�� ��ô���е��ֶλᱻ����Ϊϵͳ��ǰ�����ں�ʱ�䡣
| ����δ���������ֶΣ�Ҳ����ʽ�ַ�����δ��ȷָ�����ֶ� ���ꡢ�¡��ա�ʱ���֡��롢΢���Լ�ʱ���� ���õ� Unix Epoch ʱ�䡣 Y-m-d| ���������ʱ���ַ����е��ꡢ�º��գ� ���Ƕ���ʱ���֡����ֶλ�����Ϊ 0.
+ �ڸ�ʽ�ַ�����ʹ�������ʽ��ʾ�ַ��� �������ṩ������ʱ���ַ����а������˸�ʽ�ַ�֮����������ݵĻ������ᷢ��һ�����󣬶��Ƿ���һ�����档 ʹ�� DateTime::getLastErrors() ���� �����������������ʱ���ַ������Ƿ������ʽ�ַ���ָ��������֮������ݡ�

����ڸ�ʽ�ַ����а�������ʶ����ַ��� ��ô�ᵼ�½���ʧ�ܣ������ڷ��صĽṹ�и���һ��������Ϣ�� ����ͨ�� DateTime::getLastErrors() ��̽������Ƿ���ڴ���

�����Ҫ�ڸ�ʽ�ַ��� format ������ʹ�� ������ʾ��ʽ���ַ���Ϊһ����ͨ�ַ��������ʹ�÷�б�ߣ�\������ת�塣

�����ʽ�ַ������� format �в����� ! �ַ��� ��ôû���� format ������ָ�����ֶΣ� �ڽ�������н��ᱻ����Ϊϵͳ��ǰʱ���Ӧ���ֶ�ֵ��

�����ʽ�ַ������� format ������ ! �ַ��� ��ôû���� format ������ָ�����ֶΣ� �Լ��� ! ����Ӧ���ֶΣ� �ڽ�������н��ᱻ����Ϊ Unix epoch ʱ���Ӧ���ֶΡ�

The Unix epoch Ϊ 1970-01-01 00:00:00 UTC��

time

������ʾ����ʱ����ַ�����

timezone

DateTimeZone ���� ��ʾ�ڽ�������ʱ���ַ�����ʱ����Ҫʹ�õ�ʱ����

������� timezone ������ ���ұ�ʾ����ʱ����ַ��� time ��Ҳ������ʱ����Ϣ�� ��ô����ʹ��ϵͳ��ǰʱ����Ϊ������������ʱ����

Note:

��� time ���� �� UNIX ʱ�����ʽ�����磺946684800���� ���������Ѿ�������ʱ����Ϣ�����磺2010-01-28T15:00:00+02:00���� ��ô timezone �Լ�ϵͳ��ǰʱ�� �����ᱻ���ԡ�

����ֵ

����һ�� DateTime ���� ������ʧ��ʱ���� FALSE��

������־

�汾 ˵��
5.3.9 ���� format ��ʽ�ַ����ж��� + ��ʽ�ַ���֧�֡�

����

Example #1 DateTime::createFromFormat() ����

���������

<?php
$date 
DateTime::createFromFormat('j-M-Y''15-Feb-2009');
echo 
$date->format('Y-m-d');
?>

���̻����

<?php
$date 
date_create_from_format('j-M-Y''15-Feb-2009');
echo 
date_format($date'Y-m-d');
?>

�������̻������

2009-02-15

Example #2 DateTime::createFromFormat() �ĸ����÷�

<?php
echo 'Current time: ' date('Y-m-d H:i:s') . "\n";

$format 'Y-m-d';
$date DateTime::createFromFormat($format'2009-02-15');
echo 
"Format: $format; " $date->format('Y-m-d H:i:s') . "\n";

$format 'Y-m-d H:i:s';
$date DateTime::createFromFormat($format'2009-02-15 15:16:17');
echo 
"Format: $format; " $date->format('Y-m-d H:i:s') . "\n";

$format 'Y-m-!d H:i:s';
$date DateTime::createFromFormat($format'2009-02-15 15:16:17');
echo 
"Format: $format; " $date->format('Y-m-d H:i:s') . "\n";

$format '!d';
$date DateTime::createFromFormat($format'15');
echo 
"Format: $format; " $date->format('Y-m-d H:i:s') . "\n";
?>

�������̵���������ڣ�

Current time: 2010-04-23 10:29:35
Format: Y-m-d; 2009-02-15 10:29:35
Format: Y-m-d H:i:s; 2009-02-15 15:16:17
Format: Y-m-!d H:i:s; 1970-01-15 15:16:17
Format: !d; 1970-01-15 00:00:00

Example #3 ��ʽ���ַ����а�������Ҫ����ת����ַ�

<?php
echo DateTime::createFromFormat('H\h i\m s\s','23h 15m 03s')->format('H:i:s');
?>

�������̵���������ڣ�

23:15:03

�μ�