Этот вопрос является дубликатом (см .: Как получить текущую дату в jquery? ).
Изменив мое решение из другого вопроса, я получил:
var d = new Date();
var month = d.getMonth()+1;
var day = d.getDate();
var hour = d.getHours();
var minute = d.getMinutes();
var second = d.getSeconds();
var output = d.getFullYear() + '-' +
((''+month).length<2 ? '0' : '') + month + '-' +
((''+day).length<2 ? '0' : '') + day + ' ' +
((''+hour).length<2 ? '0' :'') + hour + ':' +
((''+minute).length<2 ? '0' :'') + minute + ':' +
((''+second).length<2 ? '0' :'') + second;
См. Этот jsfiddle для доказательства: http://jsfiddle.net/nCE9u/3/
Вы также можете заключить его в функцию (демо здесь: http://jsfiddle.net/nCE9u/4/):
function getISODateTime(d){
// padding function
var s = function(a,b){return(1e15+a+"").slice(-b)};
// default date parameter
if (typeof d === 'undefined'){
d = new Date();
};
// return ISO datetime
return d.getFullYear() + '-' +
s(d.getMonth()+1,2) + '-' +
s(d.getDate(),2) + ' ' +
s(d.getHours(),2) + ':' +
s(d.getMinutes(),2) + ':' +
s(d.getSeconds(),2);
}
и используйте его так:
getISODateTime(new Date());
или
getISODateTime(some_other_date);
РЕДАКТИРОВАТЬ: Я добавил некоторые улучшения в функцию, предложенные Ates Goral (также уменьшил ее удобочитаемость в пользу комментариев кода).