首页 > 解决方案 > 如何在 php 中使用 Carbon::setTestNow()?

问题描述

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

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

我在这里做错了什么?如何将时间全局设置为特定日期?欢迎所有提示!

标签: phpunit-testingdatetimetimephp-carbon

解决方案


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

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

Carbon::setTestNow(Carbon::createFromDate(2000, 1, 1));
echo Carbon::now();                     

推荐阅读