laravel - 如何使用laravel从当前日期查找季度第一个日期和最后一个日期
问题描述
我正在尝试按当前季度设置开始日期和结束日期。
case 'quarter':
$date = Carbon::now()->month(Carbon::now()->month-3);
print_r($date);
$startDate = Carbon::now()->startOfQuarter(); // the actual start of quarter method
$endDate = Carbon::now()->endOfQuarter();
break;
输出为
quarter
Carbon\Carbon Object
(
[date] => 2020-12-04 05:21:08.443008
[timezone_type] => 3
[timezone] => UTC
)
Array
(
[startDate] => Carbon\Carbon Object
(
[date] => 2021-01-01 00:00:00.000000
[timezone_type] => 3
[timezone] => UTC
)
[endDate] => Carbon\Carbon Object
(
[date] => 2021-03-31 23:59:59.999999
[timezone_type] => 3
[timezone] => UTC
)
)
如何使用 Carbon 确定当前季度?即我想知道季度开始的日期和结束的日期。而且我正在尝试在上一季度之前设置开始日期和结束日期。
case 'quarter':
$date = Carbon::now()->month(Carbon::now()->month-6);
$startDate = Carbon::now()->startOfQuarter(); // the actual start of quarter method
$endDate = Carbon::now()->endOfQuarter();
break;
但现在我正在努力解决如何获取当前季度和上一季度的开始和结束日期。
解决方案
$date = CarbonImmutable::now();
$startCurrent = $date->startOfQuarter();
$startPrevious = $startCurrent->subQuarter();
echo $startPrevious . "\n";
echo $startPrevious->endOfQuarter() . "\n";
echo $startCurrent . "\n";
echo $startCurrent->endOfQuarter() . "\n";
推荐阅读
- java - 在阿里巴巴云上启动 Linux 实例时出现 Forbidden.RiskControl 错误
- jenkins-pipeline - Jenkins 管道:如何调试可怕的 java.io.NotSerializableException: java.util.regex.Matcher 问题?
- vb.net - 在 XML 表单配置中使用“CuteEditor”时,数据不通过数据库
- html - 在移动设备中应用 css 属性 hover、ontouch
- javascript - HTML 数据集为空
- c# - 如何在 C# .dll 中包含 .config 文件,该文件将在 vba 项目中用于 ms 访问?
- c# - 使用 XML Reader 在 C#.net 中查找和替换节点内部文本
- windows - 上报Mac地址的更改顺序
- angular - 附加到组件时如何调整 Angular CDK 覆盖背景的大小
- python - 用于数据管道的 Python Pandas 合并、融化、pivot_table