массовое добавление времени в файл - PullRequest
1 голос
/ 21 марта 2010

у меня есть файл, в котором время появляется почти сто раз как

00:01:32
00:01:33
00:01:36
.......................

как я могу добавить 2 секунды или 2 минуты ко всем временам в файле, чтобы я получил

00:01:34
00:01:35
00:01:38
..................

Ответы [ 4 ]

2 голосов
/ 21 марта 2010

Вы можете использовать preg_replace с модификатором e, чтобы заставить его выполнить код для определения замены, затем strtotime может проанализировать его и выполнить необходимые корректировки:

$data = preg_replace('/([0-9]{2}(:[0-9]{2}){2})/e', 'modify_time("$1")', $data);

function modify_time($time) {
  return date('H:i:s', strtotime('+2 seconds', strtotime($time)));
}
0 голосов
/ 21 марта 2010
<?php

$fp = fopen('yourfile.txt', 'r');
$fpr=fopen('result.txt','a');
while (!feof($fp))
{
$mytext = fgets($fp, 9);
echo $mytext."<br />";
$result = substr($mytext,-2,2);

if ($result<=60)
{
    $result=$result+2;
    $result=substr($mytext,1,5).$result;
    echo $result."<br>";
    fwrite($fpr, $result);
}
else
{ 
    if ($result==58)
    $result="00";

    if ($result==59)
    $result="01";

    if ($result==60)
    $result="02";


    $result=substr($mytext,1,5).$result;
    echo $result."<br>";
    fwrite($fpr, $result);

}

}

?>
0 голосов
/ 21 марта 2010
$min=date("i")+2;
if ($min<10)
{
    $min="0".$min;
}
$time= date("H:").$min;
echo $time;
0 голосов
/ 21 марта 2010

На самом деле это вопрос начальной школы, как добавить несколько минут к определенному времени. этот текст легко разбирается в массив с секундами, а затем добавление определенного количества секунд к каждому члену не будет большой проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...