|
|
|||||
Регистрация: Jan 2011
Сообщений: 247
|
Date расписание
Появилась идея реализовать расписание, но столкнулся с проблемой:
При проверки времени нужно проверить попадаю ли я в определенный промежуток времени например как мне сравнить полученное время(от PC) с текстом "10:00:00" ? и при этом просчитать сколько осталось до конца промежутка( и в дальнейшем вести обратный отсчет до нуля)? Так же интересует существует ли способ получение времени не с компа и не через ( getUTCHours()\getUTCMinutes() ), а вообще через интернет получить киевское время ? |
|
|||||
> как мне сравнить полученное время(от PC) с текстом "10:00:00"
Разбиваешь его на часы-минуты-секунды и сравниваешь как два числа, имея в виду, что вместо тысяч-сотен-десятков у тебя часы-минуты-секунды Допустим сейчас 04:50:00 утра. Нам надо узнать, было уже 5:11:00 утра или нет var now:Date = new Date(); var current:Array = [now.getHours(), now.getMinutes(), now.getSeconds()]; var alarm:String = "05:11:00"; var arr_alarm:Array = alarm.split(":"); var f:Boolean = true var before:Boolean for (var i:int = 0; i < current.length &f; ++i) { if (current[i] < arr_alarm[i]) { before = true; f = false; } else if (current[i] > arr_alarm[i]){ before = false; f = false; } } trace(before); trace(now.getTime()-new Date(2013,10,15,5,11,0,0).getTime()) //где-то тут точно какая-то фигня, потому что сейчас 4:50 утра и у меня сломался дебаггер : ( (там в цикле написано &&f, у форума какая-то бага)
__________________
cats are supreme beings |
|
|||||
Цитата:
Сравнивать можно просто: var date1:Date = new Date(); var date2:Date = new Date(); if (date1 >= date2) trace("check"); Насчет получить время из тырнета ниче не скажу. Поидее все сервера для синхронизации времени дают некий get-url по которому выдается нужная информация. Нужно выяснить формат в котором они выдают ответ и парсить его. А дальше дело техники URLLoader и погнали. Добавлено через 58 секунд Предыдущий ответ дикий оверхед и пример как не стоит работать с датами в ас3 Уж простите, но это так.
__________________
Кто к нам с чем для чего - тот у нас того от того. |
|
|||||
Насчёт получения времени.
1.Делаешь запрос, например, сюда: http://www.timeapi.org/utc/now 2. получаешь ответ и парсишь. 3. Тот сервис возвращает время в UTC, поэтому используешь now.setUTCHours()/Minutes/Seconds чтоб поставить время в UTC 4. ... 5. делаешь что там надо дальше. А можно сделать запрос сюда: http://www.timeapi.org/+4/ для получения времени в UTC+4 Мой предыдущий ответ был таким тупым потому что -о, боги!- уже пять утра и я был не прочь написать немного индусского кода
__________________
cats are supreme beings Последний раз редактировалось am_devcorp; 15.11.2013 в 06:13. Причина: dont worry i got dis |
|
|||||
Регистрация: Jan 2011
Сообщений: 247
|
Цитата:
protected function button8_clickHandler(event:MouseEvent):void{ var request:URLRequest = new URLRequest("http://www.timeapi.org/+2/now?\I:\M:\S"); loader = new URLLoader(); try { loader.load(request); } catch (error:SecurityError) { trace("A SecurityError has occurred."); } loader.addEventListener(Event.COMPLETE, loadcomplete); } private function loadcomplete(event:Event) { try { var now_Time:String = new String(loader.data); trace(now_Time); } catch (e:TypeError) { trace("Could not parse the XML file."); } } Добавлено через 9 минут Обошел проблему путем другой ссылки Последний раз редактировалось GrafMine; 15.11.2013 в 13:43. |
|
|||||
Тут ссылка
В ней эскейпятся символы I, M, S. в коде надо было писать , вот и всё.
__________________
cats are supreme beings |
Часовой пояс GMT +4, время: 08:42. |
|
« Предыдущая тема | Следующая тема » |
Теги |
Date |
|
|