日期格式问题 - PHP

时间:2012-09-25 12:02:31

标签: date-formatting php

我有一个数组:

$multiple_dates[0] = 2013-06-09 00:00:00;
$multiple_dates[1] = 2014-06-13 12:23:00;

这是我的代码:

$format = "d-m-Y h:m:s";
for ($i = 0; $i < count($multiple_dates); $i++) {
$date_display = date_format(date_create($multiple_dates[$i]), $format);
      $fdate = date_translate($format, $date_display);
      echo $fdate;
}


但输出是:

09-06-2013 12:06:00
13-06-2014 12:06:00

时间不对......有什么想法?

8 个答案:

答案 0 :(得分:4)

这是因为分数分数为i,而非m(即月份)

所以

$format = "Y-m-d H:i:s";

答案 1 :(得分:2)

您的格式无效。试试:

$format = "d-m-Y h:i:s";

答案 2 :(得分:2)

应该是“我”喜欢这个

$format = "d-m-Y h:i:s";

像这样编辑你可以得到它

答案 3 :(得分:1)

正确的格式是

$format = "d-m-Y H:i:s";

答案 4 :(得分:0)

检查此代码 -

<?php

$mydate = '2014-06-13 12:23:00';

$format = "d-m-Y h:i:s";
echo $date_display = date_format(date_create($mydate), $format);

答案 5 :(得分:0)

转到$timestamp = strtotime("09-06-2013 12:06:00")并设置日期(&#39; d-m-Y h:m:s&#39;,$ timestamp);

for ($i = 0; $i < count($multiple_dates); $i++) {
      $timestamp = strtotime($multiple_dates[$i]));
      $fdate=date('d-m-Y h:m:s', $timestamp);
      echo $fdate;
}

答案 6 :(得分:0)

您可以使用strtotime。 E.g:

foreach ($multiple_dates as $date) {
  echo date($format, strtotime($date));
}

答案 7 :(得分:0)

试试这个更容易......

for ($i = 0; $i < count($multiple_dates); $i++) {
echo date('d-m-Y H:i:s',strtotime($multiple_dates[$i]));
}

我更喜欢这个