使用$ date = date('Y-m-d H:i:s',$ date)将问题从Y / m / d转换为Y-m-d;

时间:2015-05-27 00:52:43

标签: php date

我正在尝试将括号转换为连字符,而是日期变量丢失其值:

echo $date; // outputs 26/05/2015 10:41:56sd2

$date = date('Y-m-d H:i:s', $date);

echo $date; // outputs 969-12-31 18:00:26

1 个答案:

答案 0 :(得分:4)

  1. date()的第二个参数必须是Unix时间戳。你给它一个字符串。

  2. 该日期格式无效,无论如何都无法使用strtotime()。使用/作为日期分隔符时,假定使用美国格式。没有第26个月。

  3. 其中的最后三个字符在我所知道的任何标准中都无效,除非您专门考虑它,否则将破坏任何日期功能(您可以使用date()strtotime()

  4. 使用DateTime::createFromFormat()执行此操作:

    $date = DateTime::createFromFormat('d/m/Y H:i:s???', '26/05/2015 10:41:56sd2');
    echo $date->format('Y-m-d H:i:s');
    

    Demo