PHP 在每年 6 月结束一个财政年度


PHP end a financial year in june of every year

我想在 php 中做一些类似的事情,当月份到达 2016 年 6 月时,我想回应 2016-17,但在此之前我回应 2015-16 到目前为止,我所拥有的与 2015-16 相呼应,这意味着它随着年初的变化而变化,但我宁愿它在 6 月以后这样做,

echo   date('Y') .'-'.date('y', strtotime('+1 year'));

任何建议

非常基本,但您可以使用它:

<?php
if (date('m') > 6) {
    $year = date('Y')."-".(date('Y') +1);
}
else {
    $year = (date('Y')-1)."-".date('Y');
}
echo $year; // 2015-2016
?>

解释:

如果当前月份大于 6,则它将打印当前年份和 +1 年份,并在它们之间打印连字符 (-)。

如果当前月份小于 6,它将打印当前年份和 -1 年份,并在它们之间打印连字符 (-)。

这可以通过简单的单行来解决:

echo date('n') > 6 ? date('Y').'-'.(date('Y') + 1) : (date('Y') - 1).'-'.date('Y');

在这种情况下,"n"格式字符更好,因为它返回的月份不带前导零。

请注意,此解决方案取决于计算机的时区设置。如果您在国际时区或至少在许多时区使用它,这可能不正确。

试试这个:

if(date('m') >= 06) {
   $d = date('Y-m-d', strtotime('+1 years'));
   echo   date('Y') .'-'.date('y', strtotime($d));
} else {
  $d = date('Y-m-d', strtotime('-1 years'));
  echo   date('Y', strtotime($d)).'-'.date('y');
}

演示 : http://codepad.org/Z1zWIaiD