【问题标题】:AS3: Calculate the time difference between two times?AS3:计算两次之间的时间差?
【发布时间】:2012-04-01 19:41:01
【问题描述】:

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

     timedifference(1 AM,5 PM);

我如何计算下午 1 点到 5 点之间的时差? 谁能帮我?

提前致谢。

【问题讨论】:

  • 阅读这个 DateUtil 类:as3.casalib.org/docs/…
  • 你能提供'format'你使用的时间吗?
  • @mgraph: 我不想要两个日期之间的时间差。
  • @user1113426:我使用的是 12 小时制。
  • @SwatiSingh 首先你应该将 1 am 转换为 date fromat 然后使用类

标签: actionscript-3 flash actionscript


【解决方案1】:

这是我想要的答案:

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

【讨论】:

【解决方案2】:

我假设你在一个字符串中输入时间,因为你有 AM 和 PM……如果你问我,这是个坏主意,但因为这就是你的病,只是试着在上面写上 awnser。

您首先必须拆分字符串,如果您在下午,则添加 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;
}

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

【讨论】:

  • 当我通过 timedif("12 AM", "6 PM") 时会发生什么?它应该返回 18 作为时差。
猜你喜欢
  • 2018-04-03
  • 1970-01-01
  • 1970-01-01
  • 2014-09-21
  • 1970-01-01
  • 2013-09-25
  • 1970-01-01
  • 2016-04-23
相关资源
最近更新 更多