将数字日期转换为Datetime对象

时间:2014-06-24 20:57:10

标签: php date datetime

只是想知道以下列格式转换日期的最佳方法是什么: 02072014(2014年7月2日)进入\ DateTime对象?我试过了:

$date = DateTime::createFromFormat("jMY", $digits);

但这似乎不起作用。我使用该日期格式是因为它是在电话键盘上输入的。

干杯,

伊万

3 个答案:

答案 0 :(得分:1)

您使用的是错误的格式说明符。从documentation开始,j用于没有前导零的一天,而m用于一个月用英语拼写。另外,如果您不希望DateTimeZone猜测,则应传递PHP

<?php
$digits = "02072014";
$date = DateTime::createFromFormat("dmY", $digits, new DateTimeZone('UTC'));
echo $date->format('Y-m-d');
?>

答案 1 :(得分:1)

使用传入的字符串应该是正确的格式:

$date = DateTime::createFromFormat( "dmY", $digits );

答案 2 :(得分:1)

createFromFormat()

的功能定义
public static DateTime DateTime::createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )

所以你需要做

$digits = '02072014';
$date = DateTime::createFromFormat('dmY',$digits);
echo $date->format("j M Y");

以所需格式设置数据。

$date->format("j M Y");