Если только для русского языка
https://jsfiddle.net/1vk1nzkw/1/var months = ['янв','фев','март','апр','май','июнь','июль','авг','сент','окт','нояб','дек'];
function formatDateInterval(d1, d2){
var y1 = d1.getFullYear();
var y2 = d2.getFullYear();
var m1 = d1.getMonth();
var m2 = d2.getMonth();
var t = ' — ' + d2.getDate() + ' ' + months[m2] + ' ' + y2 + ' г.';
if(y1 != y2){
return d1.getDate() + ' ' + months[m1] + ' ' + y1 + t;
}else if(m1 != m2){
return d1.getDate() + ' ' + months[m1] + t;
}else{
return d1.getDate() + t
}
}
console.log(formatDateInterval(new Date(2017, 0, 9), new Date(2017, 0, 15)));
console.log(formatDateInterval(new Date(2017, 0, 9), new Date(2017, 1, 15)));
console.log(formatDateInterval(new Date(2017, 0, 9), new Date(2018, 0, 15)));
Для локализации можно использовать
https://developer.mozilla.org/ru/docs/Web/JavaScri...
https://developer.mozilla.org/ru/docs/Web/JavaScri...
Для старых браузеров
momentjs.com