我在php中有日期问题 - 有时日期以d / m / y到达我们,其他时间以d / m / Y为单位。我想将所有日期转换为d / m / Y.
使用我当前的数据集,如何使用php从24/06/15获得2015年6月24日?
到目前为止,我已经尝试过:
protable class library(PCL)
这带回了01/01/1970
答案 0 :(得分:3)
这可能是最强大的方法:
$string = '24/06/15';
$date = DateTime::createFromFormat('d/m/y', $string) ?: DateTime::createFromFormat('d/m/Y', $string);
echo $date->format('d/m/Y');
如果您尝试使用d / m / y格式解析24/06/2014,则 createFromFormat
会返回false
,因此在这种情况下,您只需使用d / m / Y重试。然后,您将获得一个DateTime
对象,您可以按照自己喜欢的方式对其进行格式化和输出。
答案 1 :(得分:0)
答案 2 :(得分:0)
问题是strtotime无法识别英国日期格式,因此首先转换格式然后格式化日期。
试试这个:
$original_date = "24/06/15";
list($date,$month,$year) = sscanf($original_date, "%d/%d/%d");
$date_convert = $year."-".$month."-".$date;
$new_date = date("d/m/Y", strtotime($date_convert));
echo $new_date;
答案 3 :(得分:-1)
您用于strtotime
的日期格式错误。
正确的代码应该
$original_date = '15/06/24'; // Notice : its mm/dd/yy here
$new_date = date('d/m/Y', strtotime($original_date));