只是想知道以下列格式转换日期的最佳方法是什么: 02072014(2014年7月2日)进入\ DateTime对象?我试过了:
$date = DateTime::createFromFormat("jMY", $digits);
但这似乎不起作用。我使用该日期格式是因为它是在电话键盘上输入的。
干杯,
伊万
答案 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");