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作为时差。似乎是的副本。至少要对原始回答者给予应有的信任。似乎是副本。至少要对最初的回答者给予应有的信任。