0

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

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.");
    }
}
4

1 回答 1

4

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

function getYYMMDD(): String

确保返回的数据被字符串接收...即: someString = getYYMMDD();意味着someString现在已经从函数返回值。

(2)return(退出函数)太快了……

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

(3)你应该考虑返回一个Boolean类型(真/假)......

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;
}
于 2017-02-27T21:08:32.547 回答