我想在 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