2012-05-17 3 views
27

Possible Duplicate:
Formatting a date in javascriptКак отформатировать дату в формате MM/dd/yyyy HH: mm: ss в JavaScript?

Я знаю, что другие возможные форматы в JavaScript Дата объекта, но я не получил о том, как форматировать дату в формате MM/dd/yyyy HH:mm:ss.

Пожалуйста, дайте мне знать, если вы столкнулись с такой проблемой.

+0

Все методы существуют на объекте даты. Что вы пробовали? – Corbin

+0

Привет, Corbin, я пробовал с некоторыми предопределенными форматами, но я не получил предопределенный формат для MM/dd/yyyy HH: mm: ss – Gendaful

ответ

76

Try что-то вроде этого

var d = new Date, 
    dformat = [d.getMonth()+1, 
       d.getDate(), 
       d.getFullYear()].join('/')+' '+ 
       [d.getHours(), 
       d.getMinutes(), 
       d.getSeconds()].join(':'); 

Если вы хотите, ведущие нули для значений < 10, используйте этот добавочный номер

Number.prototype.padLeft = function(base,chr){ 
    var len = (String(base || 10).length - String(this).length)+1; 
    return len > 0? new Array(len).join(chr || '0')+this : this; 
} 
// usage 
//=> 3..padLeft() => '03' 
//=> 3..padLeft(100,'-') => '--3' 

Примененные к предыдущему коду:

var d = new Date, 
    dformat = [(d.getMonth()+1).padLeft(), 
       d.getDate().padLeft(), 
       d.getFullYear()].join('/') +' ' + 
       [d.getHours().padLeft(), 
       d.getMinutes().padLeft(), 
       d.getSeconds().padLeft()].join(':'); 
//=> dformat => '05/17/2012 10:52:21' 

Престола этот код в jsfiddle

See also

+0

Спасибо Kooilnc, я попробовал var d = new Date(); var dformat = [d.getMonth(). Join ('/') + d.getDate(). Join ('/') + d.getFullYear()]. ​​Join ('/') + '' + d. getHours() присоединиться (':') + d.getMinutes() присоединиться (':').. + d.getSeconds()]; но я получаю сообщение «Uncaught SyntaxError: Unexpected token» ». Вы знаете причину? Спасибо за помощь – Gendaful

+0

Ваш код совершенно не прав (вы не можете использовать 'd.getMonth(). Join ('/')'). Попробуйте скопировать/запустить код, который я дал в своем ответе *, не меняя его *. Я добавил ссылку jsfiddle для вас – KooiInc

+1

Ваш пример неверен. Он просит MM/dd, и вы предоставили формат dd/MM (европейский стиль). –

2
var d = new Date(); 

var curr_date = d.getDate(); 

var curr_month = d.getMonth(); 

var curr_year = d.getFullYear(); 

document.write(curr_date + "-" + curr_month + "-" + curr_year); 

помощью этого вы можете форматировать дату.

вы можете изменить внешний вид в том, как вы хотите, а затем

для получения дополнительной информации вы можете посетить here

3
 

var d = new Date(); 

// calling the function 
formatDate(d,4); 


function formatDate(dateObj,format) 
{ 
    var monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; 
    var curr_date = dateObj.getDate(); 
    var curr_month = dateObj.getMonth(); 
    curr_month = curr_month + 1; 
    var curr_year = dateObj.getFullYear(); 
    var curr_min = dateObj.getMinutes(); 
    var curr_hr= dateObj.getHours(); 
    var curr_sc= dateObj.getSeconds(); 
    if(curr_month.toString().length == 1) 
    curr_month = '0' + curr_month;  
    if(curr_date.toString().length == 1) 
    curr_date = '0' + curr_date; 
    if(curr_hr.toString().length == 1) 
    curr_hr = '0' + curr_hr; 
    if(curr_min.toString().length == 1) 
    curr_min = '0' + curr_min; 

    if(format ==1)//dd-mm-yyyy 
    { 
     return curr_date + "-"+curr_month+ "-"+curr_year;  
    } 
    else if(format ==2)//yyyy-mm-dd 
    { 
     return curr_year + "-"+curr_month+ "-"+curr_date;  
    } 
    else if(format ==3)//dd/mm/yyyy 
    { 
     return curr_date + "/"+curr_month+ "/"+curr_year;  
    } 
    else if(format ==4)// MM/dd/yyyy HH:mm:ss 
    { 
     return curr_month+"/"+curr_date +"/"+curr_year+ " "+curr_hr+":"+curr_min+":"+curr_sc;  
    } 
} 

+6

-1, очень плохое кодирование здесь – KooiInc

30
var d = new Date(); 
alert(
    ("00" + (d.getMonth() + 1)).slice(-2) + "/" + 
    ("00" + d.getDate()).slice(-2) + "/" + 
    d.getFullYear() + " " + 
    ("00" + d.getHours()).slice(-2) + ":" + 
    ("00" + d.getMinutes()).slice(-2) + ":" + 
    ("00" + d.getSeconds()).slice(-2) 
); 
+1

Должно использоваться getDate() для даты. Невозможно отредактировать, потому что SO хочет более 6 символов редактировать ... вздох. – Llyle

Смежные вопросы