PHP日期年格式

时间:2015-12-08 08:23:35

标签: php

我在php中有日期问题 - 有时日期以d / m / y到达我们,其他时间以d / m / Y为单位。我想将所有日期转换为d / m / Y.

使用我当前的数据集,如何使用php从24/06/15获得2015年6月24日?

到目前为止,我已经尝试过:

protable class library(PCL)

这带回了01/01/1970

4 个答案:

答案 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)

使用小写' y'。请参阅PHP日期manual

$new_date = date('d/m/y', strtotime($original_date));
  

y =一年的两位数表示

答案 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的日期格式错误。

查看Date Formats

正确的代码应该

$original_date = '15/06/24'; // Notice : its mm/dd/yy here

$new_date = date('d/m/Y', strtotime($original_date));