2010-07-25 1 views
0

Есть ли способ сравнить текущее время с кучей времен (загружен из XML) и выяснить, что ближе всего к текущему времени?Сравнение часов и минут в AS3

+0

Какой формат эти времена/даты, которые вы прочитали из XML в? – Stephen

ответ

3

Чтобы расширить ответ Бориса, вы действительно сделаете это через класс Date.

Вы хотите, чтобы преобразовать каждый из XML чтения даты в объект Date (ака, представление на основе числа миллисекунд, прошедших с 1 января 1970 года), вероятно, через parse() статический метод класса Date:

// Taken from the linked webpage. 
// Note there are many other formats that Date.parse supports, see the linked 
// page for a list. 
var dateParsed:String = "Sat Nov 30 1974"; 

var milliseconds:Number = Date.parse(dateParsed); 
trace(milliseconds); // 155030400000 

После того, как у вас есть эти объекты даты, вы должны создать еще один объект для текущей даты/времени, вызвав пустой конструктор Date(). Вызов метода valueOf() для этого нового объекта Date даст вам миллисекунды, как указано выше. Теперь вам просто нужно просмотреть все ваши даты XML и сравнить их значение с текущей датой/временем. Самая маленькая разница, очевидно, самая близкая дата/время.

0

вы должны это сделать через Класс даты в AS3. (http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/index.html?Date.html&)

Но я второй вопрос Стефана: мы больше не можем вам помочь, не зная вашего формата времени: сравниваете ли вы полные текстовые даты, временные метки, ...?

+0

всего несколько часов и минут. Извините, это было 4 часа ночи, и я был на моем пути: P – adamzwakk

+0

@adamzwakk Это хорошо. Если вам все еще нужна помощь, я могу обновить свой ответ, если вы можете быть более конкретным о том, как далеко у вас есть время - то есть, если у вас все еще есть файл XML, или если вы их извлекли как строки и т. д. Кроме того, если вы нашли какой-либо из наших ответов удовлетворительным и решили свою проблему, отметьте один из них как правильный, щелкнув по схеме «тик» под иконками «вверх-вниз». Это помогает сообществу SO знать, что у вас есть ответ. Благодаря! – Stephen