Вот написал класс для работы с датой допустим на клиенте формируется через javascript дата какая-то передается на сервер и с помощью этого класса можно ее обрабатывать или на что фантазия хватитПросто решил попробывать использовать ООП в php. PHP: <?php /** * Description of jsdate * * @author Good][Man * @desc This Class Work only with date format yyyy-mm-dd */ class jsdate { private $date; private $date_parse; private $day; private $month; private $year; public function __construct($js_date) { //TODO Добавить проверку валидности передаваемой даты в формате yyyy-mm-dd $this->date = $js_date; } public function parseDate($flag){ if($flag): /* * Подумать стоит ли обращаться через Day,Month,Year переменные * или через элементы массива */ $this->date_parse = split('[/.-]',$this->date); list($this->year,$this->month,$this->day) = $this->date_parse; else: $this->date = implode("-",$this->date_parse); endif; } public function cutZero($num) { $result = $num; if(!is_string($result)) settype($result,"string"); $result = ($result[0] == "0")?$result[1]:$result; return $result; } public function insertZero($num) { $result = $num; if(!is_string($result)) settype($result, "string"); $result = (strlen($result)<=1)?"0".$result:$result; return $result; } public function increment($num) { $result = $num; if(!is_integer($result)) settype($result, "integer"); $result++; return $result; } public function decriment($num){ $result = $num; if(!is_integer($result)) settype($result, "integer"); $result--; return $result; } public function getDate(){ return $this->date; } public function getMonth(){ return $this->month; } public function setMonth($pmonth){ /*TODO проверку на формат передаваемого значения*/ $this->month = $pmonth; $this->date_parse[1] = $this->getMonth(); } public function getDay(){ return $this->day; } public function setDay($pday){ /*TODO проверку на формат передаваемого значения*/ $this->day = $pday; $this->date_parse[2] = $this->getDay(); } public function getYear(){ return $this->year; } public function setYear($pyear){ /*TODO проверку на формат передаваемого значения*/ $this->year = $pyear; $this->date_parse[0] = $this->getYear(); } } /* * Пример реализации переформатирования даты из javascript ->php date format * Т.К. в javascript месяца начинают нумерацию с 0 то для правильного * представления даты нам нужно выполнить следующие действия $date = "2009-00-22";// Так выглядет дата 22 января 2009 года в javascript $js = new jsdate($date); $js->parseDate(true); $js->setMonth($js->cutZero($js->getMonth())); $js->setMonth($js->increment($js->getMonth())); $js->setMonth($js->insertZero($js->getMonth())); $js->parseDate(false); echo $js->getDate(); * */ ?>
Я юзаю таймштамп в Javascript. На входе на сервере просто делю на тысячу, чтобы избавиться от микросекунд и округляю. Есть еще такая штука http://ru.php.net/manual/en/class.datetime.php , а в РНР 5.3. появится полноценный класс для работы с датой, там будет куча всяких вкусняшек, типа "получить число понедельника прошлой недели".
Обычно да,но сказали заменить на простую прокрутку даты с помощью стрелочек то есть стрелка инпут стрелка