2015-07-17 7 views
0

Я не так хорошо разбираюсь в JS, поэтому у меня проблема с датами.JS: Формат даты изменения, возвращаемый с DatePicker

Я хочу, чтобы установить диапазон для моего DatePickers - вот почему, когда дата меняется, я получаю его в следующем формате:

Ср июл 08 2015 00:00:00 GMT + 0200 (CEST)

Мне нужно изменить его на дату в формате dd/mm/yyyy, чтобы использовать значение позже. До сих пор это выглядит следующим образом:

var nowTemp = new Date(); 
$("#datepickerStart").on("changeDate", function (e) { 
    minDate = e.date; 
    console.log(minDate); // Wed Jul 08 2015 00:00:00 GMT+0200 (CEST) 
//  day = minDate.getDate(); <- doesn't work 
//  monthIndex = minDate.getMonth(); 
//  year = minDate.getFullYear(); 
}); 


$('#datepickerStart').datepicker({ 
    format: "dd/mm/yyyy", 
    startDate : new Date('01/01/2009'), 
    endDate : new Date() 
}); 

$('#datepickerEnd').datepicker({ 
    format: "dd/mm/yyyy", 
    startDate : minDate,//""+day+"/"+monthIndex+"/"+year,<- tried different approaches 
    endDate : new Date() 
}); 

Если я использую minDate.format («дд/мм/гггг»), он возвращает ошибку «неперехваченным TypeError: minDate.format не является функцией».

Заранее благодарим за помощь.

ответ

1

Хорошая альтернатива для этого - использование библиотеки momenjs.

Другой альтернативой является то, что вы создаете function, который форматирует дату следующим образом:

var formatDate = function(d) { 
 
    
 
    var date = d.getDate(); 
 
    var month = d.getMonth(); 
 
    var year = d.getFullYear(); 
 
    var newDate = (date < 10 ? ('0' + date) : date) + '/' + (month < 10 ? ('0' + month) : month) + '/' + year; 
 

 
    alert(newDate); 
 
} 
 

 
// Usage example 
 
var now = new Date(); 
 

 
formatDate(now)

+0

Спасибо за кончик. BTW, фрагмент кода возвращается 17/06/115;) – Mary

+0

Ответ редактирован, он должен быть 'getFullYear' вместо' getYear' –

+0

Если это было полезно, пожалуйста, проголосуйте и согласитесь :) –

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