AS3: Рассчитать разницу во времени между двумя разами? - PullRequest
0 голосов
/ 16 марта 2012

Я хочу создать функцию, которая рассчитывает разницу во времени между двумя разами.Например, я отправляю время как

     timedifference(1 AM,5 PM);

Как я могу рассчитать разницу во времени между 13:00 и 17:00?Может кто-нибудь мне помочь?

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 20 марта 2012

Вот ответ, который я хочу:

public static function timeDifference(startTime:Date, endTime:Date) : String
{
    if (startTime == null) { return "startTime empty."; }
    if (endTime   == null) { return "endTime empty."; }
    //trace(" endTime.valueOf() "+endTime.valueOf()+" startTime.valueOf() "+startTime.valueOf())
    var aTms:* = Math.floor(endTime.valueOf() - startTime.valueOf());
    var timeTaken:* =( int(aTms/(    60*60*1000)) %24 );
    //trace(timeTaken);
    return "Time taken:  "  
        + String( int(aTms/(24*60*+60*1000))     ) + " days, "
        + String( int(aTms/(    60*60*1000)) %24 ) + " hours, "
        + String( int(aTms/(       60*1000)) %60 ) + " minutes, "
        + String( int(aTms/(        1*1000)) %60 ) + " seconds.";
}

Использование этой функции как:

var myDate:Date = new Date("3/18/2012 10:00 PM");
var myDate1:Date= new Date("3/19/2012 12:00 PM");

timeDifference(myDate,myDate1);
1 голос
/ 16 марта 2012

Я полагаю, что вы вводите время в строке, так как у вас есть AM и PM ... это плохая идея, если вы спросите меня, но поскольку это то, что вы заболели, просто попытайтесь заметить это.Сначала вам нужно будет разделить строку и добавить 12 часов, если вы в личку, а затем сделать time2 - time1 для разности ...

trace(timedif("1 AM", "3 PM"));

function timedif(string1:String, string2:String){
    var time1 = string1.split(" ");
    var time2 = string2.split(" ");

    var newtime1:int = time1[0];
    var newtime2:int = time2[0];

    if(time1[1] == "PM"){ newtime1 = newtime1 + 12; }
    if(time2[1] == "PM"){ newtime2 = newtime2 + 12; }

    var difrence = newtime2 - newtime1;
    return difrence;
}

Я полагаю, что это ваш вопрос,не говорю, что это хорошее решение

...