我想创建一个计算两次之间时间差的函数。 比如我送倍AS3:计算两次之间的时间差?
timedifference(1 AM,5 PM);
我怎么能算到下午5点下午1点之间的时间差? 任何人都可以帮助我吗?
在此先感谢。
我想创建一个计算两次之间时间差的函数。 比如我送倍AS3:计算两次之间的时间差?
timedifference(1 AM,5 PM);
我怎么能算到下午5点下午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);
似乎http://stackoverflow.com/a/6990505/1216775副本。至少给原来的回答者留下应有的分数。 – 2015-12-09 09:51:57
我asume他们输入的时间在一个字符串,因为你有AM和PM ...这是一个坏主意,如果你问我,但因为这是你生病的只是试图在它上。
您必须先分割字符串,以及基础上加12小时,如果你是在下午,然后做时间2 - 时间1为difrence ...
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;
}
我beleive这是awnser你的问题,我不是说了一个很好的解决方案
当我通过timedif(“12 AM”,“6 PM”)时会发生什么?它应该返回18作为时差。 – 2012-03-16 10:19:55
然后它将返回18小时 – MakuraYami 2012-03-20 11:23:22
阅读此DateUtil类:http://as3.casalib.org/docs/org_casalib_util_DateUtil.html#getTimeBetween – mgraph 2012-03-16 09:02:44
您能否提供您使用时间的格式? – Engineer 2012-03-16 09:05:56
@mgraph:我不想在两个日期之间有时差。 – 2012-03-16 09:09:58