Как правило, лучше всего передавать дату на ваш сервер как метку времени Unix и конвертировать ее в саму базу данных. В коде, где вы создаете свои данные POST для сервера, вы должны передать что-то вроде этого:
var t = calDate.getTime()/1000;
Обратите внимание на деление на 1000. Это необходимо, потому что метки времени javascript указаны в миллисекундах, а MySQL требует секунд.
В своем выражении SQL вы передадите временную метку как есть и используете функцию FROM_UNIXTIME, чтобы преобразовать ее в требуемый формат:
INSERT INTO ... VALUES ( FROM_UNIXTIME($t), ...)
Естественно, между ними будет какой-то код, который преобразует t
из javascript в $t
в вашем скрипте и затем передает его в SQL.
Теперь, если вам действительно нужно отформатировать даты во внешнем интерфейсе, вы можете воспользоваться удобной утилитой YAHOO.util.Date
. Просто сделайте что-то вроде этого:
alert(YAHOO.util.Date.format(calDate, {format: "%Y-%m-%d" }));
Намного проще, чем звонить getFullYear, getMonth
, а getDate