As3使用数组中的值设置end-Date

时间:2018-03-23 09:09:22

标签: actionscript-3 flash actionscript adobe adobe-animate

我想在管理员输入值/日期到text_box之后进行最终订阅然后它将推送到数组,之后我希望当时间到达输入应用程序将退出的日期。

但我不知道这个方法。 下面是我的代码

var my_date:Date; 

var my_timer:Timer=new Timer(1000);
my_timer.addEventListener(TimerEvent.TIMER, onTimer);
my_timer.start(); 


var tarikh:Array = new Array();
tarikh.hari = [0];
tarikh.bulan = [1];
tarikh.tahun = [2];

my_date = new Date();


function onTimer(e:TimerEvent):void
{
my_date = new Date();

//trace(my_date.date + ":" + my_date.month + " : " + my_date.fullYear );

}


btnCuba.addEventListener(MouseEvent.CLICK,MMM);
function MMM (event:MouseEvent):void
{
    tarikh.hari = String(hari.text);
    tarikh.bulan = String(bulan.text);
    tarikh.tahun = String(tahun.text) ;
    tarikh.push(hari,bulan,tahun);

    setHours();
    trace(tarikh.hari + "" + tarikh.bulan + "" + tarikh.tahun);

    }

function setHours():void

{
    if (my_date.date == tarikh.hari && my_date.month == tarikh.hari && my_date.fullYear == tarikh.hari  && && my_date.minutes == 01)
    {

        NativeApplication.nativeApplication.exit();

        }

    else
    {
        my_timer.start();
        }

}

1 个答案:

答案 0 :(得分:0)

tarikh是一个数组。分配数组使用数组索引访问运算符。如果要将数据存储在数组中,可以这样执行:

array_name[index] = value

或在这种情况下,

tarikh[0] = hari;

看一下代码,tarikh似乎意味着约会,hari,bulan和tahun似乎意味着日,月和年。 Date类没有这些属性(你必须将它们翻译成英文);或者,比较日期的简单方法只是比较两个日期对象的getTime()函数返回:

if(my_date.getTime() == tarikh.getTime()) { NativeApplication.nativeApplication.exit(); }

问题是tarikh现在不是Date对象,而是一个Array。数组本身没有任何属性(除了长度),所以也许您正在寻找tarikh作为Date对象?您可以尝试将tarikh作为Date对象,其值如下:

tarikh = new Date(hari.text + " " + bulan.text + " " + tahun.text);如果文本值是字母(如2005年2月3日星期二),否则如果它们是数字或整数,则尝试将其转换并在适当的参数中使用它。