Php 更改格式日期
我有“m-Y-d”格式的日期。如何将此日期修改为“Y-d-m”格式?为此,最好的应该是功能,我可以添加旧格式和新格式,但我如何才能使它 比如我有Php 更改格式日期,php,date,Php,Date,我有“m-Y-d”格式的日期。如何将此日期修改为“Y-d-m”格式?为此,最好的应该是功能,我可以添加旧格式和新格式,但我如何才能使它 比如我有 $date = '01-2013-13'; // "m-Y-d" 我希望收到: $newDate = '2013-13-01'; // "Y-d-m" PHP无法使用strotime()解析格式。您必须执行以下操作: function reformat($old_date) { $parts = explode('-', $old_date
$date = '01-2013-13'; // "m-Y-d"
我希望收到:
$newDate = '2013-13-01'; // "Y-d-m"
PHP无法使用
strotime()
解析格式。您必须执行以下操作:
function reformat($old_date)
{
$parts = explode('-', $old_date);
return $parts[1].'-'.$parts[2].'-'.$parts[0];
}
然后使用以下命令调用它:
$new_format = reformat($date);
或者,您可以使用:
您可以使用
DateTime
类,例如:
$date = new DateTime('01-2013-13');
然后使用format()
方法,如:
$date->format('Y-m-d');
更多信息:
请参见和
要创建,您需要使用:
$newDate = date('Y-d-m');
你可以找到更多的信息
date('new format',strottime($date))
@WaleedKhan-原始日期格式是strotime
可以解析的标准日期吗?此外,我相信strotime('01-02-2013')
的解析方式将不同于strotime('01/02/2013')
,第一次给出的是2013年2月2日
,第二次给出的是2013年1月1日
。这是一个极其基本的问题,我不能相信在网上搜索“php格式日期”没有告诉你答案。我倾向于使用createFromFormat
而不是普通的DateTime
构造函数,因为传入的格式是预先知道的。它也不寻常,而且可能模棱两可,因此让PHP猜测格式可能不是最好的主意。
$date = DateTime::createFromFormat('m-Y-d', '01-2013-13');
echo $date->format('Y-m-d');
$newDate = date('Y-d-m');