我有下表,我得到了所有信息,但" 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文件?
答案 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
。
请参阅http://php.net/manual/en/function.date.php了解不同的日期字符。
或者您可以使用G
,但这只会取代str_replace
和t
。
z
答案 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