Подтвердить что ты не робот

Арифметика даты в PHP

Есть ли функция PHP, которую я могу использовать, чтобы сделать что-то вроде следующего:

  • Получить дату 6 месяцев назад (например, сейчас - 6 месяцев)?
  • Получить дату через 2 года (например, сейчас + 2 года)?
4b9b3361

Ответ 1

Да, есть: strtotime():

  • 6 месяцев назад: strtotime("-6 months");
  • 2 года: strtotime("+2 years");

Они вернут отметки времени Unix. Поэтому вы можете поместить результат в date() или localtime() или gmtime().

Пожалуйста, не пытайтесь вычесть 6 месяцев или добавить 2 года секунд в time(). Это не учитывает такие вещи, как летнее или секундное скачкообразное изменение, и все же дает вам значение в секундах, что вряд ли будет необходимой вам. Пусть функции библиотеки выполняются.

Ответ 2

Вот так:

$date6monthsago = strtotime('-6 months');
$date2year = strtotime('+2 year');

Ответ 3

Выберите в соответствии с вашим использованием следующий код.

echo date('m/d/Y',strtotime("-6 months")); //ago 6month o/p 05/23/2011 
echo date('d-m-Y',strtotime("6 months"));  //comming 6month o/p 23-05-2012
echo date('m.d.Y',strtotime("+2 years"));  //comming year o/p 11.23.2013