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

时间:2018-01-20 22:18:39

标签: actionscript-3 time

我有一个计算和显示4个潮汐的AS3代码。 示例:

高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

1 个答案:

答案 0 :(得分:1)

不确定这是否是最好的方法,但我会在现在的时间和潮汐时间之间取得差异并将其推入如下数组:

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);

第一个元素的轨迹将返回最小的时间差,在这种情况下将是bmm。