Одно поле ввода даты произвольной формы может быть подходящим, в зависимости от ваших потребностей. Это даст людям большую гибкость при вводе даты. Например, это будет работать, если кто-то введет «Вчера» или «7 дней назад».
$date = date("Y-m-d", strtotime($_POST['date']));
Демо-версия:
$date_expressions = array(
"yesterday",
"tomorrow",
"7 days ago",
"next year",
"last month",
"10 jan 08"
);
date_default_timezone_set("America/Los_Angeles");
echo "<pre>";
foreach ($date_expressions as $date_expression) {
$date = date("Y-m-d", strtotime($date_expression));
echo "{$date_expression} = {$date}\n";
}
echo "
";
Вывод (выполнено 10-9-2009):
yesterday = 2009-10-08
tomorrow = 2009-10-10
7 days ago = 2009-10-02
next year = 2010-10-09
last month = 2009-09-09
10 jan 08 = 2008-01-10