Помагите пожалуйста скрипт со временем
Люди выручите пожалуйста
вот у меня есть список с Временем : 6:00, 7:30, 8:30, 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 21:30 на ПК время например сейчас 13.34 как сделать чтоб он посмотрел время на пк и вывел из "списка с временем" время близкое к временю с ПК. два времени назад и два времени вперёд ВОт например: время 13.34(ПК) и он мне должен вывести из списка со временем 12.00 13.00 и 14.00 15.00 //вот скрипт чтоб показывалось время с пк var forTime = new Date(); var year =forTime.getFullYear(); var hour = forTime.getHours(); var minutes = forTime.getMinutes(); А как дальше написать код чтоб это показывалось как задумано мной?? помогите плз |
не буду писать код, но шустреньки алгоритм получится как мне кажется если список держать в массиве изначально знать что для первого элемента будет 6 часов и соответственно это будет наша начальный сдвиг
после узнаем какой сейчас час отнимаем от него начальный сдвиг и с полученного индекса берем элемент массива + следующий элеменет ну соответсвенно проверки на крайние элементы |
напишите пожалуйста КОД а то всё равно маленько не понимаю
mullih Спасбо за инфу |
Sejmon,
:cray: var time = "6:00 7:30 8:30 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 21:30".split(" "), out = [], forTime = (new Date()).getHours()+":"+(new Date()).getMinutes(); for (var i=0; i<time.length; i++) { if (+time[i].replace(":","")>+forTime.replace(":","")) {for (var k=i-2; k<i+2; k++) { time[k] && out.push(time[k]) };break} } alert(forTime+"=>"+out); |
Цитата:
а как вывести на странице? document.write(какая переменная здесь должна быть?) |
alert(forTime+"=>"+out); => document.write(forTime+"=>"+out);
|
рони, лучше всё же через parseInt():
var time = "6:00 7:30 8:30 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 21:30".split(" "), out = [], forTime = (new Date()).getHours()+":"+(new Date()).getMinutes(); for(var i = 0; i < time.length; i++) { if(parseInt(time[i]) > parseInt(forTime)) { for(var k = i-2; k < i+2; k++) { out.push(time[k]); } break; } } document.write(forTime+"=>"+out); |
Цитата:
а вот parseInt(17:40) вернёт 17. |
JsLoveR,
Цитата:
Цитата:
|
Вложений: 1
dmitriymar, рони, да, поспешил с выводом) Ошибка как на скрине сбила столку, подумал, что в условии она.
17: 6 => 6:00, 7:30 P.S.: а ошибочка оказалась в том, что не хватает 0, так 17:06, ибо 176 < 600 и 730 |
Часовой пояс GMT +3, время: 10:35. |