Actionscripts 3功能不起作用

时间:2017-02-27 18:22:07

标签: actionscript-3 air animate-cc

我写了一些代码来获取当前日期,并将其与应用程序限制的未来日期进行比较。我不知道为什么这个功能不起作用。

getYYMMDD();

function getYYMMDD(): String {
    var dateObj: Date = new Date();
    var year: String = String(dateObj.getFullYear());
    var month: String = String(dateObj.getMonth() + 1);
    if (month.length == 1) {
        month = "0" + month;
    }
    var date: String = String(dateObj.getDate());
    if (date.length == 1) {
        date = "0" + date;
    }
    return year.substring(0, 4) + month + date;

    trace(year + ":" + month + ":" + date);
    if (int(year) > 2017 && int(month) > 5 && int(date) > 31) {
        trace("SYSTEM TIME IS OFF.");
    } else {
        trace("SYSTEM TIME IS ON.");
    }
}

1 个答案:

答案 0 :(得分:4)

(1)由于您的函数返回String类型的数据...

function getYYMMDD(): String

确保返回的数据被字符串接收... 即: someString = getYYMMDD();表示someString现在已从功能。

(2)return(退出该功能)太快了......

return作为最后一个命令,以允许运行函数内的所有其他代码。

(3)您应该考虑返回Boolean类型(true / false)......

var can_Start : Boolean = false; //# assume false before checking

can_Start = getYYMMDD(); //# use function to update status to true/false

if (can_Start == true) { run_Program(); }
else { trace("Sorry time has expired"); }

function getYYMMDD(): Boolean 
{
    var dateObj: Date = new Date();
    var year: String = String(dateObj.getFullYear());

    var month: String = String(dateObj.getMonth() + 1);
    if (month.length == 1) { month = "0" + month; }

    var date: String = String(dateObj.getDate());
    if (date.length == 1) { date = "0" + date; }

    trace(year + ":" + month + ":" + date);

    if(int(year) == 2017)
    {   
        if(int(month) >= 05 && int(date) > 31)
        { trace("SYSTEM TIME IS OFF."); can_Start = false; } //# can_Start == false;
        else { trace("SYSTEM TIME IS ON."); can_Start = true; } //# can_Start == true;
    }

    return can_Start;
}