为了账号安全,请及时绑定邮箱和手机立即绑定

按给定月份获取财政年度

按给定月份获取财政年度

PHP
牛魔王的故事 2022-07-22 10:20:16
财政年度从 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中设置年份,所以当月份从四月开始到三月底结束,所以当我输入一个月时,我会得到正确的年份?
查看完整描述

4 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

尝试这样的事情:Carbon::now()->subMonths(3)->year

这样一月、二月和三月的日期将返回 2019 年,而四月将开始返回 2020 年。


查看完整回答
反对 回复 2022-07-22
?
隔江千里

TA贡献1906条经验 获得超10个赞

我想我设法解决了这个问题。欢迎任何意见


$month =01;

$current_month = date('m');

if ($current_month >= '01' && $current_month < '4'){


   if ($month >= '01' && $month < '04'){

      $year = date('Y');

   } 


   if ($month >= 4){

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

   }


if ($current_month >= 4){

   if ($month >= 4){

      $year = date('Y');

   }


   if ($month < 4){

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

   }

}


echo $year;


查看完整回答
反对 回复 2022-07-22
?
噜噜哒

TA贡献1784条经验 获得超7个赞

我希望这能解决你的问题


$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)

    $financial_year = (date_format($date,"Y")) . '-' . (date_format($date,"y")+1);

} else {//On or Before March (FY is previous year - current year)

    $financial_year = (date_format($date,"Y")-1) . '-' . date_format($date,"y");

}


echo "<br> FY ".$financial_year;


查看完整回答
反对 回复 2022-07-22
?
墨色风雨

TA贡献1853条经验 获得超6个赞

类似的东西:


$now = strtotime('now');

$firstApril = strtotime('1st april');

$year = ($now < $firstApril) ? date('Y')-1 : $date('Y');

return $year;

这将比较时间戳,如果它小于今年的 4 月 1 日,那么它将获得上一年。


查看完整回答
反对 回复 2022-07-22
  • 4 回答
  • 0 关注
  • 90 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信