Показать сообщение отдельно
  #10 (permalink)  
Старый 05.03.2019, 10:48
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Besprizornik, обратите внимание на const, стрелочные функции и spread-оператор, они не поддерживаются старыми браузерами.

var x=(()=>{
    const currentTime=new Date().getTime();
    const ranges={
        10:[[1582,9,15],[1700,02,11]],
        11:[[1700,02,12],[1800,02,12]]
    };
	
	return Object.keys(ranges).filter(day=>{
		const range=ranges[day].map(
			args=>new Date(...args).getTime()
		);
		
		return (
			currentTime>=range[0] && currentTime<=range[1]
		);
	}).shift()||0;
})();

var d = new Date(); 
document.addEventListener('DOMContentLoaded', function() { 
	document.querySelector('#day_gr').options[d.getDay()||7].selected = true;
	document.querySelector('#date_gr').options[d.getDate()].selected = true;
	document.querySelector('#month_gr').options[d.getMonth()+1].selected = true;
	document.querySelector('#year_gr').value = d.getFullYear();
	document.querySelector('#day_ul').options[d.getDay()||7].selected = true;
	
	d = new Date(new Date()-x*24*60*60*1000);
	document.querySelector('#date_ul').options[d.getDate()].selected = true;
	document.querySelector('#month_ul').options[d.getMonth()+1].selected = true;
	document.querySelector('#year_ul').value = d.getFullYear();
});
Ответить с цитированием