他们是检测实际时间是否接近特定时间的简单方法吗?

Is their a simple way to detect if the actual time is near a specific time?

我有一个 AS3 代码可以计算并显示 4 个潮汐。 示例:

高 1 = 13:20

高 2 = 23:30

低 1 = 05:30

低 2 = 16:20

在代码中,我不会把计算放在这里,因为它太长而且对于这个问题来说不是必需的,但是变量是:

var $pmm:String;
var $pms:String;
var $bmm:String;
var $bms:String;

High 1 = $pmm

High 2 = $pms

Low 1 = $bmm

Low 2 = $bms

应用程序还显示实际时间

var my_timer:Timer=new Timer(1000);
my_timer.addEventListener(TimerEvent.TIMER, onTimer);
my_timer.start(); 

function onTimer(e:TimerEvent):void {
now = new Date();
trace(now.hours + ":" + now.minutes);
}

actual_time.text=now.hours + ":" + now.minutes;

是否有一种简单的方法来检测 now.hours 是否最接近 $pmm$pms$bmm$bms

不确定这是否是最好的方法,但我会计算现在时间和潮汐时间之间的差异并将其放入数组中,如下所示:

var tideArray = new Array();
tideArray.push({tide:"pmm", difference: 3});
tideArray.push({tide:"pms", difference: 5});
tideArray.push({tide:"bmm", difference: 0});
tideArray.push({tide:"bms", difference: 8});

tideArray.sortOn("difference", Array.NUMERIC);
trace(tideArray[0].tide);

第一个元素的踪迹将 return 最小时间差,在本例中为 bmm。