-1

有人可以告诉我如何更改此日期戳并将其打印在 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

4

2 回答 2

2

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

有一个类似的问题,您也可以从那里获得更多输入。 如何格式化从数据库接收的日期和时间

编辑:是的,您也可以使用它作为回声

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

您甚至可以像 RC 所说的那样使用 CreateFromFormat,这是在 Procedural 样式中使用 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

于 2010-09-03T05:46:08.687 回答
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
于 2010-09-03T05:54:32.493 回答