Вопрос по javascript, date-format, date – Как отформатировать дату в формате ММ / дд / гггг ЧЧ: мм: сс в JavaScript? [Дубликат]

39

Possible Duplicate:
Formatting a date in javascript

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

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

date.toISOString (). replace (/ ([^ T] +) T ([^ \.] +). * / g, '$ 1 $ 2') Bálint Juhász
Все методы есть в объекте даты. Что вы пробовали? Corbin
Привет, Корбин, я пытался с некоторыми предопределенными форматами, но я не получил предопределенный формат для MM / дд / гггг ЧЧ: мм: сс Gendaful

Ваш Ответ

4   ответа
90

Попробуйте что-то вроде этого

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

Если вам нужны ведущие нули для значений & lt; 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

Смотрите также

Ваш пример неверен. Он запрашивает MM / dd, а вы указали формат dd / MM (европейский стиль).
@JeffFischer Да, поэтому мой ответ гласил: "Попробуйте что-нибудьlike это & Quot ;. Во всяком случае, скорректировал ответ специально для вас.
привет, почему вы использовали +1 после getMonth ()? Я попытался удалить это, и это дало мне неправильный месяц. Происходит ли какое-то обращение?
Спасибо Kooilnc, я попробовал var d = new Date (); var dformat = [d.getMonth (). join ("/") + d.getDate (). join ("/") + d.getFullYear ()]. join ("/") + & APOS; & APOS; +. D.getHours () присоединиться (& APOS;: & APOS;) + d.getMinutes () соединение. (& APOS;: & APOS;) + d.getSeconds ()]; но я получаю & quot; Uncaught SyntaxError: неожиданный токен] & quot; , Вы знаете причину? Спасибо за помощь Gendaful
Ваш код полностью неверен (вы не можете использоватьd.getMonth().join('/')). Попробуйте скопировать / запустить код, который я дал в своем ответеwithout changing it, Я добавил ссылку jsfiddle для вас
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);

используя это вы можете отформатировать дату.

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

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

37
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)
);
Следует использовать getDate () для даты. Не могу редактировать, потому что ТАК хочет, чтобы редактировалось более 6 символов ... вздох.
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;       
    }
}

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

Похожие вопросы