格式化html表的日期字符串

时间:2010-09-03 05:34:09

标签: php html date-formatting

有人可以告诉我如何更改此日期戳并在html表中打印吗?

我有一个带有此时间戳格式的输入文件:

4-Start=20100901180002

此时间格式以这样的形式存储在数组中。 我这样打印出数组来创建一个html表:

foreach ($data as $row){
   $counter ++;                                        
   $class = $counter % 2 === 0 ? 'alt1' : 'alt2';       
   echo '<tr class="' . $class . '">';                  

     foreach ($keys as $column)                 
        if (isset($row[$column])){              
          echo '<td>' . $row[$column];
          } else {
          echo '<td>' . '' . '</td>';
        }
}
echo '</table>';

如何将此表中的时间戳更改为此? 2010-09-01 18:00:02

2 个答案:

答案 0 :(得分:2)

这就是你要找的东西, http://de2.php.net/manual/en/function.strtotime.php

有一个类似的问题,你可以从那里获得更多的输入.. How do I format the date and time That is received from database

编辑: 是的你也可以使用回声

echo date("Y-m-d H:i:s",strtotime('20100901180002')) ; // 2010-09-01 18:00:02

你甚至可以使用CreateFromFormat作为RC说,这是在程序风格中使用CreateFromFormat。

 $date = date_create_from_format("YmdHis", '20100901180002');
 echo date_format($date, 'Y-m-d H:i:s');  // 2010-09-01 18:00:02

请参阅http://php.net/manual/en/datetime.createfromformat.php

答案 1 :(得分:1)

这部分很奇怪,我认为elseif永远不会达到。

if (isset($row[$column])){
   echo '<td>' . $row[$column] . '</td>';
} elseif ($column == 'Condition') {
   echo '<td> Error </td>';
} else {
   echo '<td> </td>';
}

关于您的格式问题:

// PHP > 5.2
$date_s = "" . $row['Start'];
$date =  DateTime::createFromFormat("YmdHis", $date_s);
echo $date->format("Y-m-d H:i:s"); // 2010-09-01 18:00:02