mass在文件中添加时间

时间:2010-03-21 05:43:03

标签: php regex datetime

我有一个文件,其中时间出现近百次 像

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

如何在文件中的所有时间添加2秒或2分钟,以便我得到

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

4 个答案:

答案 0 :(得分:2)

您可以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)));
}

答案 1 :(得分:0)

实际上这是小学问题,如何在特定时间添加一些分钟。这个文本可以很容易地用秒解析成数组,然后为它添加一定的秒数,每个成员都不是什么大问题。

答案 2 :(得分:-1)

$min=date("i")+2;
if ($min<10)
{
    $min="0".$min;
}
$time= date("H:").$min;
echo $time;

答案 3 :(得分:-1)

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

}

}

?>