我想創建一個計算兩次之間時間差的函數。 比如我送倍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