从脚本更改PHP时间而不使用settime
我想这是不可能的,但我想我会问。假设我有两个函数。函数A调用函数B。函数B返回当前时间。e、 g从脚本更改PHP时间而不使用settime,php,time,Php,Time,我想这是不可能的,但我想我会问。假设我有两个函数。函数A调用函数B。函数B返回当前时间。e、 g function a() { return b(); } function b() { return time(); } 进一步说,我想让b在不同的时间返回。比如说日期是“2014-09-01”,但我不想改变函数b。所以我不能在函数b中使用strotime,也不能将某些内容传入函数b并返回。。。我完全被b困住了。有没有办法改变函数a中的时间,使函数b返回函数a中指定的时间?e、
function a()
{
return b();
}
function b()
{
return time();
}
进一步说,我想让b在不同的时间返回。比如说日期是“2014-09-01”,但我不想改变函数b。所以我不能在函数b中使用strotime,也不能将某些内容传入函数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();
}
编辑:我被要求澄清
我想我太复杂了,这里有一个简单的解释,没有两个函数。。。我想要一些能做如下事情的东西
function a()
{
echo time(); // echos current time
set_default_time_to('2014-09-01');
echo time(); // returns equivalent of strtotime('2014-09-01')
}
我之所以将它分成两个函数,是因为我想强调一点,即我不能仅仅将时间更改为strotime、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脚本的方法。只需使用mktime,并将偏移秒作为参数传递给b。@KouberSaparev他只是说他不能以任何方式更改函数b他说他不想更改函数b,不是说他不能。事实上,这正是继承OOP概念发挥作用的地方。这是正确的方法。即使可能,通过改变服务器时钟来改变时间的行为也会带来更多的潜在问题。@KouberSaparev,因此我不能在函数b中使用strotottime,也不能将某些内容传入函数b并返回该内容。。。我被函数b困住了,正是。。。。我说过我不能改变它。改变一个函数很容易。。。如果我可以这样做,我会改变函数,这个问题将是毫无意义的。。。希望有一些php方法能够做到这一点,而不需要php求助于shell脚本和更改服务器细节。