例如,我从用户那里得到数字 25,我如何使用 Carbon 或任何 PHP 助手生成完整的日期?
例如今天是 2015 年 4 月 22 日,那么它将返回 2015 年 4 月 25 日。
如果今天是 2015 年 4 月 26 日,那么它将返回 2015 年 5 月 25 日。
我有一个表,其中包含一个名为created_at. 每当我转储此特定列时,它都会作为 Carbon 对象返回,如下所示:

我对这个查询进行了编码,以根据日期从上述表中获取数据。代码如下:
$date = $this->request->get('date');
$orders = Order::where( 'created_at', $date )->get();
Run Code Online (Sandbox Code Playgroud)
$date从网址检索和格式,'Y-m-d'使其无法正常查询,因为'created_at'并$date没有在相同的格式。如何以'Y-m-d'格式从 Carbon 对象获取日期并将其插入到我的查询中?
我目前收到的碳日期如下:2021-03-17 17:14:42.01811,我不想考虑小时、分钟和秒,将其转换为一天的开始。
该值并不意味着要格式化为字符串,因为在代码中它用于与其他日期进行比较。
我设法制定了一个解决方案,但它似乎不是最有效的解决方案, 我使用now()函数作为示例。
\Carbon\Carbon::parse(\Carbon\Carbon::now()->format('Y-m-d'));
Run Code Online (Sandbox Code Playgroud)
有没有更正确的方法来进行此操作?
我想获取特定年份和月份的第一天。这是我发送给控制器的请求数据
"month" => "August"
"year" => "2020"
Run Code Online (Sandbox Code Playgroud)
我试图通过这种方式获得特定月份和年份的第一天
Carbon::parse($request->month)->firstOfMonth();
Run Code Online (Sandbox Code Playgroud)
它正确给出了该月的第一天,但年份不正确。它总是显示2021年。我想获取2020年8月1日的数据。
正确的获取方式是什么?
我在播种机中使用它:
'created_at' => Carbon::now(),
'updated_at' => Carbon::now(),
Run Code Online (Sandbox Code Playgroud)
我得到了正确的日期/时间,但正好提前了 1 天。
我试过了:
Carbon::now(new DateTimeZone('America/Chicago')),
Run Code Online (Sandbox Code Playgroud)
在我的播种机文件中,它似乎有效。但是,当我从控制器插入记录时,日期不正确。
我正在$table->timestamps();用来创建列 - 是否有可以输入正确时区的配置设置?或者,还有什么我做错了吗?
我有这种格式的日期:'2017-09-26 00:02:37'.我正在尝试计算此日期和现在的差异,并以月为单位获取值.例如.(52周)
实现这个目标的正确方法是什么?