PHP日期和时间格式

时间:2016-10-02 20:33:27

标签: php

我有下表,我得到了所有信息,但" date"以一种块格式显示:

<?php
   // search for desired team
   $searchQuery = $api->searchTeam(urlencode("Real Madrid"));
   // var_dump searchQuery and inspect for results
   $response = $api->getTeamById($searchQuery->teams[0]->id);
   $fixtures = $response->getFixtures('home')->fixtures;
?>

<tr>
    <td><?php echo $fixture->homeTeamName; ?></td>
    <td>-</td>
    <td><?php echo $fixture->awayTeamName; ?></td>
    <td><?php echo $fixture->result->goalsHomeTeam; ?></td>
    <td>:</td>
    <td><?php echo $fixture->result->goalsAwayTeam; ?></td>
    <td><?php echo $fixture->date; ?></td>
</tr>

结果:

Home Team           Away Team           Result        Date/Time
Real Madrid CF  -   RC Celta de Vigo    2   :   1     2016-08-27T18:15:00Z

如何在日期和时间之间添加空格并删除T和Z字符而我无法访问php.ini文件?

4 个答案:

答案 0 :(得分:2)

查看date() function,它提供了许多自定义功能。

对于当前案例,您可以选择编写,例如:

<td><?php echo date('m/d/Y h:i A', $fixture->date); ?></td>

答案 1 :(得分:2)

您应该将open-dialog功能与date一起使用。这将允许您根据需要格式化字符串。例如:

strtotime

注意echo date('Y-m-d h:i:s', strtotime('2016-08-27T18:15:00Z')); 这里是12小时格式。对于24小时格式,请使用h

演示:https://eval.in/653840

请参阅http://php.net/manual/en/function.date.php了解不同的日期字符。

或者您可以使用G,但这只会取代str_replacet

z

演示:https://eval.in/653838

答案 2 :(得分:1)

您的日期不是时间戳,因此您可以使用字符串操作来删除T和z,只需创建一个您将来可以使用的函数。

function replace_str($originastring,$valuetoreplace,$valueasreplacement)
{
  if(isset($originalstring)&&isset($valuetoreplace)&&isset($valueasreplacement))
   {
      if(is_array($valuetoreplace)&&is_array($valueasreplacement)&&($valutoreplace.length==$valueasreplacement.length))
       {
           for($i=0;$i<$valuetoreplace.length;$i++) 
             {
              $originalstring=str_replace($originalstring,$valueasreplacement[i]);
             }
       }
      else
        {
        $originalstring=str_replace($originalstring,$valueasreplacement[i]);
        }
       //any other stuff 
      return $str1;
   }
}

并在您的代码中

<td><?php echo replace_str($fixture->date,array('T','S'),array('','')); ?></td>

注意:避免直接修改变量的值(我的意思是为什么api可能会添加你日期中的z和T可能有某些目的,所以当你执行这样的替换时一定要保持原始值不变,以防万一你需要原始价值..:D)

答案 3 :(得分:0)

根据@ cFreed,@ chris85和其他贡献者的答案,我得到了这样的方式:

echo str_replace(array('T', 'Z'), array(' ', ''), $fixture->date);

结果: 2016-08-27 18:15:00