如何在 PHP 中使用 Carbon::setTestNow()?

kra*_*r65 2 php time datetime php-carbon

出于测试目的,我想将日期设置为特定日期。我现在尝试使用Carbon lib来做到这一点,但它失败了:

Carbon::setTestNow(Carbon::createFromDate(2000, 1, 1));
printf(date("Y-m-d H:i:s"));  // prints 2018-06-28 13:21:06
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?如何将时间全局设置为特定日期?

Álv*_*lez 7

date()是一个常规 PHP 函数,与 Carbon 没有任何关系,并且 Carbon::setTestNow()不会更改系统时钟,因此这是预期的行为。

我想你只是想一直使用 Carbon:

Carbon::setTestNow(Carbon::createFromDate(2000, 1, 1));
echo Carbon::now();                     
Run Code Online (Sandbox Code Playgroud)

  • 这意味着您的代码实际上不可测试,抱歉。 (3认同)