AS3最接近今天

时间:2010-05-28 09:55:59

标签: xml flash actionscript-3 date

我有一个带有几个音乐会日期的XML文件。在我的flash / AS3文件中,我想仅显示相对于当前日期即将到来的事件。

像这样:

活动01:30-05-2010

事件02:02-06-2010

活动03:05-06-2010

今天是28-05-2010,所以我需要列出事件01.在01-06-2010我需要列出事件02。

我有基本的AS3代码,用于列出XML工作,但是我在筛选结果时遇到了问题。

有什么想法吗? 感谢。

2 个答案:

答案 0 :(得分:1)

为每个日期构造Date个对象并比较它们的getTime()值 - 它是自1970年1月1日以来经过的毫秒数。

答案 1 :(得分:0)

我猜这有效:

var my_date:Date = new Date();
var dia:Date = new Date(my_date.fullYear,my_date.month,my_date.date);
//var dia:Date = new Date(2010,05,06);
var nowEvent1:Date = new Date(2010,04,30);
var nowEvent2:Date = new Date(2010,05,02);
var nowEvent3:Date = new Date(2010,05,05);
var nowEvent4:Date = new Date(2010,05,06);

var eventArray:Array = [nowEvent1,nowEvent2,nowEvent3,nowEvent4];

for (var i:int; i < eventArray.length; i++) {
    if (eventArray[i] >= dia) {
        trace(eventArray[i]);
        return;
    }
}

这只是一个带有硬编码值的示例(因为XML代码太大了)但它似乎正在运行。更改“dia”变量将返回正确的即将到来的事件日期。

在我的代码中,我从PHP设置的flashvar中获取当前日期,然后将其转换为flash中的日期对象。

如果有人感兴趣,我可以发布整个代码。而且我也选择了更好的方式!