如何使用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 来确定当前季度? IE。我想知道季度开始的日期和结束的日期。并且 我正在尝试在上一季度之前设置开始日期和结束日期。

 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";

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...