Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Вопрос по дате
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » Вопрос по дате

Страниц (1): [1]
 

1. Contr - 21 Июля, 2013 - 00:03:03 - перейти к сообщению
Пусть на входе есть число месяца (х) от 1 до 28.
Необходимо написать функцию, на выходе которой возвращалась бы последняя прошедшая дата с этим числом месяца

Пример:
сегодня 21 июля.
Если х=1, то надо 1.07.2013
если х=25, то надо 25.06.2013
Растерялся
2. caballero - 21 Июля, 2013 - 00:07:45 - перейти к сообщению
а какая проблема собсственно?

формируешь дату по числу и месяцу и сравниваешь с текущей датой
3. Contr - 21 Июля, 2013 - 00:16:42 - перейти к сообщению
Не понял
4. EuGen - 21 Июля, 2013 - 00:54:48 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. function getDayPastDate($mDay)
  2. {
  3.    $iX = sprintf('%02d', $mDay);
  4.    return $iX>date('d')?date('Y-m-d', strtotime(date('Y-m-'.$iX).'-1 month')):date('Y-m-'.$iX);
  5. }

?
5. Contr - 21 Июля, 2013 - 09:19:20 - перейти к сообщению
EuGen пишет:
PHP:
скопировать код в буфер обмена
  1. function getDayPastDate($mDay)
  2. {
  3.    $iX = sprintf('%02d', $mDay);
  4.    return $iX>date('d')?date('Y-m-d', strtotime(date('Y-m-'.$iX).'-1 month')):date('Y-m-'.$iX);
  5. }

?

Работает! Даже при смене дат в году (если сейчас январь, скажем). Вообще круто. Буду пользоваться Радость
EuGen+1

 

Powered by ExBB FM 1.0 RC1