我想在php中做一些这样的事情,当月到2016年6月,我想回应2016-17,但在此之前我回应2015-16我到目前为止的回声2015-16意味着它年初的变化,但我宁愿在六月开始做,
echo date('Y') .'-'.date('y', strtotime('+1 year'));
任何建议
答案 0 :(得分:7)
非常基本但你可以使用它:
<?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年和连字符( - )之间。
答案 1 :(得分:4)
这可以通过一个简单的oneliner来解决:
echo date('n') > 6 ? date('Y').'-'.(date('Y') + 1) : (date('Y') - 1).'-'.date('Y');
&#34; n&#34;格式字符在这种情况下更好,因为它返回的月份没有前导零。
请注意,此解决方案取决于您计算机的时区设置。如果您在国际或至少许多时区使用此功能,则可能不正确。
答案 2 :(得分:2)
试试这个:
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');
}