回答
AS3超時(例如setTimout
)像JavaScript一樣。 use of setTimeout in AS is talked about here。給定兩個日期(現在和何時應該觸發警報),以毫秒爲單位計算差值並將其用作超時參數。
或者(並且效率低下,但不足以睜大眼睛),setTimeout
可以每分鐘運行一次,如果它是「神奇的時間」(或者在先前的時間間隔之前過去!記住需要2倍的頻率觀察所有的變化,並且可能發生時鐘偏移...)然後發出警報。
請注意,有一些限制,如AS主機在超時或時鐘週期期間關閉。可能沒有DST擔心這裏,但夏時制問題做來處理日期/時間。
快樂編碼。
編輯: AS還有Timer
class它是setTimeout/setInterval/clearTimeout/clearInterval功能的包裝。無論如何,如果「使用對象」是首選。
我想說你創建一個循環來檢查Date對象的當前時間。
package {
import flash.display.Sprite;
import flash.utils.clearInterval;
import flash.utils.setInterval;
public class TimeCheck extends Sprite
{
private var interval:int;
public function TimeCheck()
{
interval = setInterval(checkTime, 1000);//check performed every second
checkTime();
}
private function checkTime():void
{
var date:Date = new Date();
if (date.hours == 23 && date.minutes == 55)//actual time check
{
clearInterval(interval);//kills the loop
//... do something ...
}
}
}
}
請注意,這是執行客戶端,因此將使用客戶端時間。可能有辦法將它同步到服務器時間。
希望它有助於
+1良好的代碼文章。但是,*檢查間隔必須至少是頻率的兩倍或者一分鐘可能會丟失!*(或者至少這是我從基礎物理學中記得的,但我無法在網上找到任何信息......)無論如何,確定在setTimeout中建立鬆弛:假設時間是'23:54.99',下一個超時*需要稍微超過1000ms才能運行*,因此接下來會看到值'23:56.01`並跳過23.55。 ?`。雖然這是一個邊緣案例,但可能會發生。增加觀察頻率,嘗試糾正觀察者時間,和/或觀察23:55是否在「當時」和「現在」之間。 – 2011-01-28 03:34:39
我沒有測試過,但這樣的事情應該工作...
var eventDate:Date = new Date();
eventDate.setHours(23, 55);
var now:Date = new Date();
var delay:Number = eventDate.time - now.time;
if(delay > 0)//if we haven't yet passed 23:55
{
var timer:Timer = new Timer(delay , 1);
timer.addEventListener(TimerEvent.TIMER , yourMethod);
timer.start();
}
我相信上述解決方案的工作;然而,它們在性能方面似乎非常昂貴。我有一個(相對)優雅和直截了當的雙線程。該解決方案使用匿名函數,即客戶端時間,並假定給出了一個參數startDate:Date
。我沒有測試過,所以可能會出現一個簡單的邏輯錯誤,但這個想法應該給一些想法。
var timer:Timer = (new Timer(startDate.time - (new Date()).time, 1)).addEventListener(TimerEvent.TIMER, function():void {
// This area is called after the allocated time.
});
timer.start();
- 1. 用戶指定的日期時間
- 2. 包含UTC指定符(「Z」)的日期時間的SQLite日期函數失敗
- 3. 有日期時間指數
- 4. 在指定的時間間隔後第一次調用函數
- 5. 日期/時間在甲骨文 - 日期時間函數
- 6. 如何在特定時間和日期(React)運行函數?
- 7. 當使用具有時間函數的日期函數時,日期問題在日期函數
- 8. Rails:如何在DB中保存時間時指定日期
- 9. Python - 日期時間函數
- 10. PHP日期時間函數
- 11. 日期時間函數PHP
- 12. 使用date()函數在特定時區顯示時間/日期
- 13. 調用整數日期時間的成員函數格式()
- 14. 如何創建函數將IST日期時間轉換爲CST日期時間
- 15. 如何查找兩個指定日期之間的日期?
- 16. 如何在時間序列中指定開始日期google-chart
- 17. 如何在python中指定日期和時間?
- 18. 日期時間函數轉換一個日期舊時間
- 19. MySQL日期時間和當前日期時間函數
- 20. 使用日期和時間函數
- 21. 熊貓 - 應用日期時間函數
- 22. Highstock:指定X軸日期時間段
- 23. 日期時間未指定類
- 24. 如何從日期時間戳的時間和日期在PHP
- 25. 如何從SQL中指定的日期計算業務日期和時間
- 26. 移調PHP的日期時間+時區功能爲js函數
- 27. 使用DateTime.ParseExact時,如何指定給定日期的時區?
- 28. 如何指定Timelion中的索引和日期/時間字段?
- 29. 如何從給定的日期時間函數中分別顯示日期和時間?
- 30. 如何指定從中調用函數
@pst。你應該把它作爲答案,而不是評論 – Ben 2011-01-25 02:13:57