在不使用settime的情况下改变脚本的PHP时间

时间:2014-10-27 11:46:53

标签: php time

我认为这是不可能的,但我想我会问。说我有2个功能。功能A调用功能B.功能B返回当前时间。 e.g

function a()
{
    return b();
}

function b()
{
    return time();
}

进一步说我希望b实际上返回不同的时间。 (比如说日期是' 2014-09-01')但我不想改变功能b。 (所以我不能在函数b中使用strtotime,或者将某些东西传入函数b并返回...我完全坚持使用b)。有没有办法改变函数A中的时间,以便函数b返回函数a中指定的时间? e.g

function a()
{
    set_default_time_to('2014-09-01');
    return b(); // returns equivalent of strtotime('2014-09-01')
}

function b()
{
    return time();
}

修改:我被要求澄清。

所以我想我过于复杂,所以这里有一个更简单的解释,没有2个函数......我想要的东西会做类似下面的事情

function a()
{
    echo time(); // echos current time
    set_default_time_to('2014-09-01');
    echo time(); // returns equivalent of strtotime('2014-09-01')
}

我将它分成两个函数的原因是因为我想强调我不能将time()改为strtotime,mktime或任何其他函数。第二个函数执行其他操作,但为简单起见已删除。

function a()
{
    echo b(); // echos current time
    set_default_time_to('2014-09-01');
    echo b(); // returns equivalent of strtotime('2014-09-01')
}

function b()
{
    $time = time();
    // Do some logic stuff here
    return $time;
}

我无法改变b。就是这样。

我也知道我们可以使用php来编写shell脚本,但是我更喜欢一种不使用php的shell脚本的方法。

0 个答案:

没有答案