将文本文件中的行与当前时间进行比较

时间:2013-05-06 18:50:56

标签: php file time compare

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

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

<?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;    
?>

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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';
}