Php 第二天与Laravel Carbon发布
我有以下代码:Php 第二天与Laravel Carbon发布,php,laravel-5.6,php-carbon,Php,Laravel 5.6,Php Carbon,我有以下代码: return Carbon::createFromFormat('Y-m-d', $given_date, $user_timezone)->next($user_day); // $user_day = 'Monday'; 这会产生错误: 未定义索引:星期一 非常感谢您的帮助。请查看函数本身: //碳\碳界面 /** *修改到给定修改器的下一次出现,例如 *本周。如果未提供修改器,请修改到下一个引用 *一周中当前日期的。使用提供的常量 *要指示所需的dayOfWeek
return Carbon::createFromFormat('Y-m-d', $given_date, $user_timezone)->next($user_day); // $user_day = 'Monday';
这会产生错误:
未定义索引:星期一
非常感谢您的帮助。请查看函数本身:
//碳\碳界面
/**
*修改到给定修改器的下一次出现,例如
*本周。如果未提供修改器,请修改到下一个引用
*一周中当前日期的。使用提供的常量
*要指示所需的dayOfWeek,例如static::MONDAY。
*
*@param string | int | null$修饰符
*
*@返回静态
*/
公共函数next($modifier=null);
您可以推导出需要使用碳常数,即carbon::MONDAY
。看看类本身,它解析为1
因此,您还可以传递从
0
(星期日)到6
(星期六)的任何整数。共享$given_date和$user_时区的值,这将有助于调试。另外,Carbon::createFromFormat()生成一个Carbon对象,想知道它为什么抛出未定义的索引,执行dd(Carbon::createFromFormat('Y-m-d',$given_date,$user_timezone));并查看下一步将要发生什么根据说明,您也可以使用echo$dt->next(‘星期三’)代码>嗯,是的,它确实在那里说明了,不知道为什么,但docblock清楚地说“使用提供的常量”@kerbholz您可能想检查您的版本,因为Carbon::now()->next('Monday')
在我的代码中没有问题。没有问题,是的,这就是我所说的;)您应该能够在next()
方法中使用常规的日期名称(Monday
..)。@Flame我升级了该版本,现在工作正常。谢谢