【问题标题】:Formatting JSON datetime to PHP inside foreach loop在 foreach 循环中将 JSON 日期时间格式化为 PHP
【发布时间】:2014-02-15 12:52:44
【问题描述】:

我正在为客户构建一个活动部分。使用 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-&gt;format('M j, d')改成了date('M j, d', strtotime($events-&gt;datetime))

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

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

【问题讨论】:

标签: php json api


【解决方案1】:

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

<?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');
}

?>

【讨论】:

  • 由于某种原因它给了我一个错误,但我想通了。谢谢!
猜你喜欢
  • 2020-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多