转换日期显示为31-Dec-69

时间:2017-01-30 07:05:36

标签: php

我想将日期转换为d-M-y格式,似乎我做错了。请帮我纠正。

<?php
$date = '30/04/2017';
echo date('d-M-y', strtotime($date));
?>  

我的输出: 31-Dec-69

我希望输出为30-Apr-17

4 个答案:

答案 0 :(得分:2)

在处理日期和时间时使用DateTime对象。您可以使用DateTime::createFromFormat()解析日期字符串,然后使用DateTime :: format()以您希望的方式对其进行格式化:

<?php
$str = '30/04/2017';
$date = DateTime::createFromFormat('d/m/Y', $str);
echo $date->format('d-M-Y'); 
?>

Working Demo

答案 1 :(得分:1)

使用DateTime::createFromFormat()

$date = DateTime::createFromFormat('d/m/Y', '30/04/2017');
echo $date->format('d-M-Y');

答案 2 :(得分:0)

<?php

$date = '30-04-2017';
echo date('d-M-y', strtotime($date));

?>

或使用

<?php
  $date = '25/05/2010';
  $date = str_replace('/', '-', $date);
  echo date('d-M-y', strtotime($date));
?>

答案 3 :(得分:0)

试试这个:

<?php
$date = '30/04/2017';

$newDate = str_replace('/', '-', $date);

echo date('d-M-y', strtotime($newDate));

?>

// Output: 30-Apr-17

Working Example