From a6c3c779491cc29ff6c8e41c2db4a2b394cc064f Mon Sep 17 00:00:00 2001 From: lijian <1414900397@qq.com> Date: Tue, 21 Mar 2023 20:27:43 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3fast/Date::unixtime()bug=20?= =?UTF-8?q?=E8=AF=A5bug=E4=BC=9A=E5=AF=BC=E8=87=B4position=E4=B8=BA?= =?UTF-8?q?=E7=BB=93=E6=9D=9F=E6=97=B6=E4=B8=94type=E4=B8=BAquarter?= =?UTF-8?q?=E6=97=B6=20=E5=A6=82=E6=9E=9C=E4=BB=A5=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E6=9C=88=E4=BB=BD=E5=81=8F=E7=A7=BBoffset=E5=8D=95=E4=BD=8D?= =?UTF-8?q?=E7=9A=84=E5=AD=A3=E5=BA=A6=E6=97=B6=E5=87=BA=E7=8E=B0=E8=B7=A8?= =?UTF-8?q?=E8=B6=8A=E5=B9=B4=E4=BB=BD=EF=BC=8C=E4=BC=9A=E5=AF=BC=E8=87=B4?= =?UTF-8?q?cal=5Fdays=5Fin=5Fmonth=E6=8A=A5=E9=94=99=20=E9=9D=9E=E6=B3=95?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extend/fast/Date.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/extend/fast/Date.php b/extend/fast/Date.php index 84919255e..ce018f1b1 100644 --- a/extend/fast/Date.php +++ b/extend/fast/Date.php @@ -194,10 +194,14 @@ class Date $time = $position ? $_timestamp : mktime(23, 59, 59, $month + $offset, self::days_in_month(date("m", $_timestamp), date("Y", $_timestamp)), $year); break; case 'quarter': - $_month = date("m", mktime(0, 0, 0, (ceil(date('n', mktime(0, 0, 0, $month, $day, $year)) / 3) + $offset) * 3, $day, $year)); + $quarter = ceil(date('n', $baseTime) / 3) + $offset; + $month = $quarter * 3; + $offset_year = ceil($month/12) - 1; + $year = $year + $offset_year; + $month = $month - ($offset_year * 12); $time = $position ? - mktime(0, 0, 0, 1 + ((ceil(date('n', $baseTime) / 3) + $offset) - 1) * 3, 1, $year) : - mktime(23, 59, 59, (ceil(date('n', $baseTime) / 3) + $offset) * 3, self::days_in_month((ceil(date('n', $baseTime) / 3) + $offset) * 3, $year), $year); + mktime(0, 0, 0, $month-2, 1, $year) : + mktime(23, 59, 59, $month, self::days_in_month($month, $year), $year); break; case 'year': $time = $position ? mktime(0, 0, 0, 1, 1, $year + $offset) : mktime(23, 59, 59, 12, 31, $year + $offset); -- Gitee