Показать сообщение отдельно
  #38 (permalink)  
Старый 04.01.2016, 23:48
Профессор
Отправить личное сообщение для Keramet Посмотреть профиль Найти все сообщения от Keramet
 
Регистрация: 30.12.2015
Сообщений: 194

Сообщение от рони Посмотреть сообщение
и как прицепить к этому разницу с текущим временем?
ну как-то так
var nowTime = new Date();
	var nowTimeF = 60*nowTime.getHours() + nowTime.getMinutes();
	var hours = ['6:00', '8:45', '12:00', '12:10', '12:35', '23:37'];

	function formatT(str){
		var i, h, m;
		i = str.indexOf(":");
		h = str.substring(0, i);
		m = str.substring(i + 1, str.length);
		return 60*h + 1*m;
	}
	var hoursF = hours.map(function(h) {return formatT(h);});
	
	if (nowTimeF > hoursF[hoursF.length]) alert ("Опять от меня сбежала последняя электричка...")
	else {
		for(var i = hoursF.length - 1; i >= 1; i--)  {
			if (nowTimeF > hoursF[i-1]) break;
		}
		var timeToGo = hoursF[i] - nowTimeF;
		alert("До отправления: " + Math.floor(timeToGo / 60) + "ч " + timeToGo % 60 + "мин");
	};

не так и просто, как мне казалось
Ответить с цитированием