Как рассчитать и получить дату в прошлом (например, 3 недели назад) от сегодняшней даты (PHP) - PullRequest
0 голосов
/ 01 января 2011

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

echo date('j n Y');

, который возвращает что-то вроде 1 1 2011. Что я хочу сделать, так это иметь возможность вернуть датунеделю назад относительно текущей даты / дня, чтобы он возвратил только пример (25 12 2010), если я выберу 1 неделю назад.И так далее, если я хочу получить день и месяц и год 3 недели назад относительно текущего дня.

Я не знаю, возможно ли это?учитывая, что мне нужно использовать только текущий день месяца и года, чтобы получить предыдущую дату, и я должен быть в состоянии извлечь прошлую дату как день, месяц и год для использования в сценарии.

Если мой вопросне понятно, пожалуйста, дайте мне знать.Я прошу прощения.

Ответы [ 3 ]

10 голосов
/ 01 января 2011

strtotime предоставит вам прошедшую дату в Unix-времени, которую вы затем можете ввести в функцию даты:

echo date('j n Y', strtotime("-3 weeks"))
3 голосов
/ 01 января 2011

Используйте класс DateTime вместо отметки времени.С php 5.2 и выше:

$date = new DateTime(); //defaults to the current date/time
echo $date->modify("-3 week")->format("Y-m-d");

Этот класс также может обрабатывать даты до 1970 года и после 2038 года.

0 голосов
/ 01 января 2011

Вы можете использовать strtotime для этой цели:

echo date('j n Y',strtotime('-1 week'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...