只是想知道用以下格式转换日期的最佳方法:02072014(2014年7月2日)到'DateTime对象?我试过:
$date = DateTime::createFromFormat("jMY", $digits);
但这似乎不起作用。我使用这种日期格式是因为它是通过电话键盘输入的。
欢呼,尤恩
createFromFormat()
的函数定义
public static DateTime DateTime::createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )
所以你需要做as
$digits = '02072014';
$date = DateTime::createFromFormat('dmY',$digits);
echo $date->format("j M Y");
设置你想要的数据格式
$date->format("j M Y");
您使用了错误的格式说明符。从文档中可以看出,j
表示没有前导零的日,m
表示用英文拼写的月。此外,如果您不希望PHP
猜测,则应该传递DateTimeZone
。
<?php
$digits = "02072014";
$date = DateTime::createFromFormat("dmY", $digits, new DateTimeZone('UTC'));
echo $date->format('Y-m-d');
?>
使用正确的传入字符串格式:
$date = DateTime::createFromFormat( "dmY", $digits );