按给定月份获取财政年度

财政年度从 4 月 1 日开始,我们在 1 月,所以 1 月进入 2020 年,2 月和 3 月也是如此。因此,如果我现在使用 April,它应该属于 2019 年。目前我使用了以下代码,但它没有按照我想要的方式工作


    $month =01;

   if ( $month >= 4 ) {

     $year = date('Y');

   }

   else {

    $year = date('Y')-1;

   }

   echo $year;

因此,当我将月份设置为 1 月时,年份显示为 2019 年,但实际上应该是 2020 年。


无论如何在PHP中设置年份,所以当月份从四月开始到三月底结束,所以当我输入一个月时,我会得到正确的年份?


牛魔王的故事
浏览 93回答 4
4回答

杨__羊羊

尝试这样的事情:Carbon::now()->subMonths(3)->year这样一月、二月和三月的日期将返回 2019 年,而四月将开始返回 2020 年。

隔江千里

我想我设法解决了这个问题。欢迎任何意见$month =01;$current_month = date('m');if ($current_month >= '01' && $current_month < '4'){&nbsp; &nbsp;if ($month >= '01' && $month < '04'){&nbsp; &nbsp; &nbsp; $year = date('Y');&nbsp; &nbsp;}&nbsp;&nbsp; &nbsp;if ($month >= 4){&nbsp; &nbsp; &nbsp; $year = date('Y')-1;&nbsp; &nbsp;}}&nbsp;if ($current_month >= 4){&nbsp; &nbsp;if ($month >= 4){&nbsp; &nbsp; &nbsp; $year = date('Y');&nbsp; &nbsp;}&nbsp; &nbsp;if ($month < 4){&nbsp; &nbsp; &nbsp; $year = date('Y')+1;&nbsp; &nbsp;}}echo $year;

噜噜哒

我希望这能解决你的问题$date=date_create("2020-05-13");echo "<br> Month: ".date_format($date,"m");if (date_format($date,"m") >= 4) {//On or After April (FY is current year - next year)&nbsp; &nbsp; $financial_year = (date_format($date,"Y")) . '-' . (date_format($date,"y")+1);} else {//On or Before March (FY is previous year - current year)&nbsp; &nbsp; $financial_year = (date_format($date,"Y")-1) . '-' . date_format($date,"y");}echo "<br> FY ".$financial_year;

墨色风雨

类似的东西:$now = strtotime('now');$firstApril = strtotime('1st april');$year = ($now < $firstApril) ? date('Y')-1 : $date('Y');return $year;这将比较时间戳,如果它小于今年的 4 月 1 日,那么它将获得上一年。
打开App,查看更多内容
随时随地看视频慕课网APP