1
我在這一塊上打了一堵牆。我的腳本查找在2個日期之間的時間不同,但是..Flash Date.getTime錯誤?
var data:Array = ["2011-08-30 11:19:19", "01-09-2011 02"];
var aDate:String = data[0].split(" ")[0];
var dateElements:Array = aDate.split("-");
var date1:Date = new Date();
date1.setDate(int(dateElements[2]));
date1.setMonth(int(dateElements[1])-1);
date1.setFullYear(int(dateElements[0]));
date1.setHours(int(data[0].split(" ")[1].split(":")[0]));
trace("date: " + date1.getDate());
trace("month: " + date1.getMonth());
trace("year: " + date1.getFullYear());
trace("hours: " + date1.getHours());
dateElements = data[1].split(" ")[0].split("-");
var date2:Date = new Date();
date2.setDate(int(dateElements[0]));
date2.setMonth(int(dateElements[1])-1);
date2.setFullYear(int(dateElements[2]));
date2.setHours(int(data[1].split(" ")[1]));
trace("__");
trace("date: " + date2.getDate());
trace("month: " + date2.getMonth());
trace("year: " + date2.getFullYear());
trace("hours: " + date2.getHours());
trace("__");
var elapse:Number = date2.getTime() - date1.getTime();
trace(Math.floor(elapse/3600000));
正如你可以看到,日期元素描繪出他們應有的方式。現在嘗試將數據數組的第一個元素更改爲「2011-08-31 11:19:19」。雖然日期元素沒有問題,但最後一次跟蹤會給出一個完全奇怪的值。更爲奇怪的是,在Flash IDE中第二次編譯此腳本時,編譯需要很長時間,然後根本沒有任何跟蹤,就好像腳本超時一樣。
這裏發生了什麼?
我可以得到upvote,這樣我可以減少stackoverflow廣告? – recursivity