回答
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