Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 AS3:计算两次之间的时间差?_Actionscript 3_Flash_Actionscript - Fatal编程技术网

Actionscript 3 AS3:计算两次之间的时间差?

Actionscript 3 AS3:计算两次之间的时间差?,actionscript-3,flash,actionscript,Actionscript 3,Flash,Actionscript,我想创建一个函数来计算两次之间的时间差。 例如,我发送的时间为 timedifference(1 AM,5 PM); 我如何计算下午1点到5点之间的时差? 有人能帮我吗 提前谢谢。我估计你在字符串中输入时间,因为你有AM和PM。。。如果你问我这是个坏主意,但既然你有这个想法,我就试着告诉你 你必须首先拆分字符串,如果你是在下午加12个小时,然后为difrence做time2-time1 trace(timedif("1 AM", "3 PM")); function timedif

我想创建一个函数来计算两次之间的时间差。 例如,我发送的时间为

     timedifference(1 AM,5 PM);
我如何计算下午1点到5点之间的时差? 有人能帮我吗


提前谢谢。

我估计你在字符串中输入时间,因为你有AM和PM。。。如果你问我这是个坏主意,但既然你有这个想法,我就试着告诉你

你必须首先拆分字符串,如果你是在下午加12个小时,然后为difrence做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;
}

我相信这就是你问题的答案,我不是说这是一个好的解决方案,因为你有AM和PM,所以我用字符串来计算你输入的时间。。。如果你问我这是个坏主意,但既然你有这个想法,我就试着告诉你

你必须首先拆分字符串,如果你是在下午加12个小时,然后为difrence做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;
}

我相信这是你问题的答案,我不是说这是一个好的解决方案

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);

以下是我想要的答案:

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);

阅读此DateUtil类:您能提供所用时间的“
format
”吗?@mgraph:我不想要两个日期之间的时间差。@user1113426:我使用的是12小时格式。@SwatiSingh首先您应该将
1am
转换为date from,然后使用该类阅读此DateUtil类:您能提供所需时间的“
format
”吗使用?@mgraph:我不想要两个日期之间的时差。@user1113426:我使用的是12小时格式。@SwatiSingh首先您应该将
1 am
转换为date from at,然后使用类当我通过timedif(“12 am”,“6 PM”)时会发生什么?它应该返回18作为时差。当我通过timedif(“上午12点”、“下午6点”)时会发生什么?它应该返回18作为时差。似乎是的副本。至少要对原始回答者给予应有的信任。似乎是副本。至少要对最初的回答者给予应有的信任。