我正在尝试在php中转换日期格式。
以下代码会创建持久性错误
$myDate = "31/12/1980";
$myDateTime = DateTime::createFromFormat('d/m/Y', "$myDate");
$newDate = $myDateTime->format('d M Y');
echo $newDate;
包含createFromFormat()的行不断创建错误:“”调用未定义的方法“。 这与我的测试Apache服务器和实际服务器一起发生,两者都运行PHP 5.3 +
我是否需要包含或需要其他文件? 请帮助 - 我只是一个低级中级的PHP。
答案 0 :(得分:4)
仅您应该收到此错误的两个可能原因是:
DateTime::createFromFormat
in 5.2?了解替代方案。\DateTime::createFromFormat(...)
一样调用它。答案 1 :(得分:-2)
如果找不到方法,通常会发生这种情况,这意味着您没有包含包含此方法的文件。你可以发布DateTime :: createFromFormat的代码吗?
答案 2 :(得分:-2)
我找到了解决方案。 日期转换的正确语法是:
$myDate = "01-12-1980";
$tempDate = date_create("$myDate");
$newDate = date_format($tempDate, 'j M Y');
echo "$newDate";
产出产量:1980年12月1日 (j而不是d从日期编号中删除前导零)
请注意:
$newDate = date("d M Y", strtotime($myDate));
在此示例中不起作用,因为预期的输入格式为mm / dd / yyyy,使用任何其他格式将产生不正确的输出日期