在foreach循环中将JSON日期时间格式化为PHP

时间:2014-02-15 12:52:45

标签: php json api

我正在为客户建立一个活动部分。使用JSON和PHP,我能够完美地提取所有数据。

我遇到的麻烦是在foreach循环中正确格式化日期。目前我已将其设定为今天的日期,但我知道每个事件都显示今天的日期毫无意义。

这是结构代码的示例:

<?php 
$json = file_get_contents("http://api.bandsintown.com/artists/Skrillex/events.json?api_version=2.0&app_id=SAMPLE");
$data = json_decode($json);                                      
$datetime = new DateTime();                              

foreach($data as $events) {
    echo "<td class='bit-venue'>" . $events->venue->name . "</td>"; 
    echo $datetime->format('M j, d');
}
?>  

我知道我错过了什么,所以任何帮助都会受到高度赞赏。

编辑:工作解决方案:

搞定了。

我将$datetime->format('M j, d')更改为date('M j, d', strtotime($events->datetime))

我知道我需要调用datetime字符串,但只是不确定如何在foreach循环中进行此操作。

归功于Bilal,由于某种原因,他的回答消失了。

1 个答案:

答案 0 :(得分:0)

所以你的代码应该是这样的

<?php 
$json = file_get_contents("http://api.bandsintown.com/artists/Skrillex/events.json?   api_version=2.0&app_id=SAMPLE");
$data = json_decode($json);                                      
$format = 'Y-m-dTH:i:s';                              

foreach($data as $events) {
    echo "<td class='bit-venue'>" . $events->venue->name . "</td>";

    $date = DateTime::createFromFormat($format, $events->datetime);
    echo $date->format('Y-m-d H:i:s');
}

&GT?;