0

我正在尝试从文本文件中获取一些计划时间并显示它们。我在下面的代码中所做的那部分。但我真正需要做的不是一直显示,而是将文本文件中的行与当前时间进行比较,只显示下一个预定时间。我不太确定如何做这部分。

我想我必须将每一行从字符串转换为时间,然后将它们与当前时间进行比较,并在当前时间之后显示下一个。我不知道该怎么做。任何帮助,将不胜感激。

<?php

$file_handle = fopen("schedule.txt", "rb");
date_default_timezone_set('America/Denver');
$currenttime = date('H:i:s');

while (!feof($file_handle) ) {
    $line_of_text = fgets($file_handle);
    $parts = explode('=', $line_of_text);

    print $parts[0] . $parts[1]. "<BR>";
}

fclose($file_handle);
?> 
<p>The current time is:</p>
<?php
print $currenttime;    
?>
4

2 回答 2

0

由于文本文件很简单: 10:00 14:00 16:00 20:00 您应该在 explore() 函数中使用 ' '(空格)而不是 '='。

于 2013-05-06T19:05:19.227 回答
0
$lines = file('schedule.txt', FILE_IGNORE_NEW_LINES);
//sort($lines);//sort $lines if not already sorted
date_default_timezone_set('America/Denver');
$currenttime = date('H:i:s');


$line = current($lines);
while($line !== false && $line < $currenttime) {
  $line = next($lines);
}

if($line > $currenttime) {
  echo $line;
} else {
  echo 'no next one found';
}
于 2013-05-06T19:23:24.203 回答