堆棧溢出社區,比較日期/時間 - PHP,XML,strtotime
我一直很感激你的智慧和幫助。這裏是我的情況:
這裏是我的XML文件中的一個片段(這是它的一個非常小的一部分):
<matchup id="1" date="09/08/11" time="7:30 PM">
<away city="New Orleans">Saints</away>
<home city="Green Bay">Packers</home>
<finalscore>
<away></away>
<home></home>
</finalscore>
</matchup>
好了,所以使用SimpleXML我收到此XML數據並存入各自的PHP變量。我唯一需要幫助的是日期/時間部分。
我想基本上比較比賽的日期/時間與當前時間。如果比賽的時間已經過去了(或者爲此開始),我想要顯示不同的輸出。
因此,這裏是我的PHP的事,但工作不正常的位置:
foreach($week->matchup as $matchup)
{
$game_time = $matchup['time'];
$game_date = $matchup['date'];
date_default_timezone_set('US/Eastern');
$game_date2 = strtotime($game_date);
$game_date3 = date('m/d/y', $game_date2);
$time_stamp = strtotime($game_time);
$check = date("g:i A", $time_stamp);
$date_now = date('m/d/y');
$time_now = date('g:i A');
if ($game_date3 >= $date_now && $check >= $time_now) {
?>
<tr>
<td class="two"><?php echo $game_date ?></td>
<td class="two">
<input type="radio" id="<?php echo $away_city ?> <?php echo $away_teamname ?>" class="radio" name="<?php echo $week_name ?>" value="<?php echo $away_city ?> <?php echo $away_teamname ?>"></input>
<?php echo $away_full ?>
</td>
<td class="two">
<input type="radio" id="<?php echo $home_city ?> <?php echo $home_teamname ?>" class="radio" name="<?php echo $week_name ?>" value="<?php echo $home_city ?> <?php echo $home_teamname ?>"></input>
<?php echo $home_full ?>
</td>
<td class="two"><?php echo $game_time ?></td>
</tr>
<?php
} else {
?>
<tr>
<td class="two"><?php echo $game_date ?></td>
<td class="two">
<span><?php echo $away_full ?></span>
</td>
<td class="two">
<span><?php echo $home_full ?></span>
</td>
<td class="two"><?php echo $game_time ?></td>
</tr>
<?php
}
} ?>
正如你所看到的,我所要做的就是簡單地檢查是否從XML中的日期/時間過去當前時間的時間。如果是這樣,我想顯示一個沒有輸入單選按鈕的輸出。如果它沒有超過當前時間,我想顯示輸出WITH輸入單選按鈕。
我認爲問題是在我的變量設置與strtotime並獲取XML日期/時間正確解析服務器時間的某處。
我希望有人能幫我弄明白這一點!此外,任何建議,以使這更簡潔和安全也讚賞。
我想這就是我問那麼......是什麼語法看起來喜歡做的事是什麼? 我會從XML中取出日期/時間...將其轉換爲PHP變量並使用strtotime將它們壓縮成時間戳...然後我將該時間戳記與當前時間戳進行比較?這就是你說的嗎?感謝您的建議...保持它的到來:) –
你是一個螺柱,我會檢查出來。 –