2012-02-18 80 views
3

我正在进行一个公交网站项目,并且每小时运行一次公交车。我无法创建一个能够找到从现在开始到下一个小时之间的时间的小部件,因此很明显下一个总线何时运行。我的客户需要它在JavaScript中。有什么建议么? 在此先感谢。计算直到下一小时的时间量

+2

到目前为止你有什么代码? – ohaal 2012-02-18 01:18:35

+0

直到下一个小时,你才真正需要时间,除非公交路线上只有一个*停车位,并且公交车在那里准时到达,否则需要时间加上三角洲。 – 2012-02-18 01:55:06

回答

1

你在Javascript Date对象,你可以这样做:

var now = new Date(); 
var mins = now.getMinutes(); 
var secs = now.getSeconds(); 
var response = "it will be " + (60 - mins - 1) + " minutes and " + (60 - secs) + " seconds until the next bus"; 
当然

你将有更多的工作,对这些计算,但这是你如何与时间工作在JavaScript

+0

我会试试看,谢谢。 – 2012-02-18 14:51:59

6
function getMinutesUntilNextHour() { return 60 - new Date().getMinutes(); } 

请注意,系统时钟关闭的人将会错过他们的总线。使用服务器时间而不是客户端计算机上的时间可能会更好(至少部分是非客户端JavaScript解决方案)。

0

很多答案,一个非常简单的功能,以获得圆润分钟剩下的一个小时是:

function minsToHour() { 
    return 60 - Math.round(new Date() % 3.6e6/6e4); 
} 
+0

从60中减去'Date#getMinutes()'而不是这里的方法会更有意义吗?很难说出发生了什么事情,我很确定它已经关闭了一分钟,而且在过去的日子还没有完成。另外,'getMinutes'方法编写的代码更少,并且更易于记忆。 – 2012-02-18 02:39:58

+0

为什么人们会在远处等待公共汽车?无论如何,这只是另一种方式。上述回合在最近30秒内应该显示0,使用* getMintues()将在最后一分钟内显示0,除非你也处理秒。但是,无论如何,我怀疑这一点很重要,巴士究竟有多精确地遵守日程安排? – RobG 2012-02-19 10:24:53

2

要知道,从现在开始到完全毫秒下一小时:

function msToNextHour() { 
    return 3600000 - new Date().getTime() % 3600000; 
} 

请注意,这将严格告诉你多少秒,直到下一个小时(如果你运行在4:00:00.000它会给你一个小时)。