Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 代码在特定时间开始和结束_Php_Date_Dst - Fatal编程技术网

Php 代码在特定时间开始和结束

Php 代码在特定时间开始和结束,php,date,dst,Php,Date,Dst,大家好,我有一个在特定时间开始和结束的代码,我的代码工作正常,但我想在数据循环中使用这段代码 例如,我将在循环中添加名称,并希望每个名称在特定时间开始和结束: 这是我的代码: <?php date_default_timezone_set('America/New_York'); $time = date('Y:m:d H:i:s'); $timestart = date('Y:m:d H:i:s'); //time start $timeend = '2016:11:17 10:56:0

大家好,我有一个在特定时间开始和结束的代码,我的代码工作正常,但我想在数据循环中使用这段代码 例如,我将在循环中添加名称,并希望每个名称在特定时间开始和结束:

这是我的代码:

<?php
date_default_timezone_set('America/New_York');
$time = date('Y:m:d H:i:s');
$timestart = date('Y:m:d H:i:s'); //time start
$timeend = '2016:11:17 10:56:00'; //time end

if($time >= $timeend){
echo "time end";
}else{
    echo 'untel end time';
    }


$now = new DateTime();
$future_date = new DateTime($timeend);
$interval = $future_date->diff($now);
?>

我想知道如何使用循环数据


谢谢。

您可以使用EV或事件扩展或通过循环实现。比起这项任务,我更喜欢电动汽车

并创建计时器,例如:

// Required create variable!
$w = new EvTimer($needWorkedSeconds, $repeatAfterSecond, function ($w) {
    echo "iteration = ", Ev::iteration(), PHP_EOL;
});

// Loop until Ev::stop() is called or all of watchers stop
Ev::run();
while(true)
{
    if($isTimeEndNow)
    {
         break;
    }
    sleep($repeatAfterSecond);
}

或者使用事件(但我更喜欢使用事件来处理套接字):

或者,您可以在以下时间尝试,例如:

// Required create variable!
$w = new EvTimer($needWorkedSeconds, $repeatAfterSecond, function ($w) {
    echo "iteration = ", Ev::iteration(), PHP_EOL;
});

// Loop until Ev::stop() is called or all of watchers stop
Ev::run();
while(true)
{
    if($isTimeEndNow)
    {
         break;
    }
    sleep($repeatAfterSecond);
}
在示例中,我使用未声明的变量:

$repeatAfterSecond - seconds to next iteration or next call
$isTimeEndNow - this is: time() > $endTimestamp
$needWorkedSeconds - this is seconds: time_start - time_end

注意力集中!!!小心如果你想使用MySQL,如果你在具体时间需要die脚本,我认为你犯了错误。检查你的算法

你需要cron在设定的时间运行脚本不需要cron那么你是在一个连续的循环中运行脚本,一遍又一遍地检查时间吗?是的,我的sql中有数据,我在php中通过循环获取数据,我希望每一个都在我选择的时间结束这是一个可怕的想法。最终,您将耗尽资源,或者脚本将失败。我强烈建议使用cron,以便在特定时间触发文件。