我想创建一个计算两次之间时差的函数。 例如,我发送时间为
timedifference(1 AM,5 PM);
我如何计算下午1点到下午5点之间的时差? 谁能帮我?
提前致谢。
答案 0 :(得分:3)
这是我想要的答案:
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 :(得分:1)
我认为你输入时间是一个字符串,因为你有上午和下午...如果你问我,这是一个坏主意,但是因为那就是你生病了,只是试着去拍它。
你首先必须分割字符串,如果你在PM,则加12小时,然后为时间做2 - 时间1 ...
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;
}
我相信这是你问题的灵感,我不是说它是一个很好的解决方案