@fatedupi

Есть ли готовая js ф-я, которая выдавала бы временной интервал типа «9 — 15 янв 2017 г.»?

Привет, подскажите пожалуйста готовую функцию, которая форматировала бы 2 даты согласно следующему формату:
9 — 15 янв 2017 г. или 30 янв — 5 фев 2017 г.
Спасибо!
  • Вопрос задан
  • 185 просмотров
Решения вопроса 1
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Если только для русского языка
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
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы