#php #datetime #date
#php #дата и время #Дата
Вопрос:
Мне нужна функция PHP, которая отображает предыдущий год до 1 августа, после чего она должна отображать текущий год.
Например:
- сегодня 12 мая 2011, так что это должно повторять «2010»
- когда наступит 1 августа 2011 года, это должно повторять «2011»
- … продолжайте повторять «2011» до 1 августа 2012
- 1 августа 2012 года оно должно повторять «2012»
- и т.д.
Пожалуйста, дайте мне знать, если у вас возникнут какие-либо вопросы. Заранее спасибо!
Комментарии:
1. Вопрос… что вы уже пробовали?
2. Согласен с @Mark Baker. На этот вопрос относительно легко ответить, проведя лишь небольшое исследование.
3. То есть в основном показывать финансовый год с датой начала 1 августа?
Ответ №1:
Поехали:
$year = date('Y') - 1;
$month = date('n');
if($month >= 8) $year ;
echo $year;
Комментарии:
1. Я думаю, что вы ошибаетесь в своем условии if.
Ответ №2:
$august = strtotime('1 August');
if(time() < $august) {
echo date('Y') - 1;
}else{
echo date('Y');
}
Комментарии:
1. @Emil … означает ли это август каждого года? это выглядит неправильно
2. Это так. strtotime по умолчанию должно быть равно текущему году. Но я больше согласен с вашим решением — не думал прямо, когда выбрал strtotime вместо date 🙂
Ответ №3:
function year($timestamp) {
if(date('m', $timestamp) < 8) {
return (date('Y', $timestamp) - 1);
}
return (date('Y', $timestamp));
}