数字秒表

时间:2009-12-19 12:18:55

标签: javascript

斐伊川,

我的输入时间是几毫秒。我希望在我的应用程序中包含一个数字秒表。时间将在每秒钟内像数字时钟一样动态变化。

3 个答案:

答案 0 :(得分:2)

您可以将毫秒除以1000来获得秒数,然后将60除以获得分钟,再将60除以获得小时数。或者,更好的是,使用modulo:

hours = parseInt(milliseconds / 3600) % 24;
minutes = parseInt(milliseconds / 60) % 60;
seconds = (milliseconds / 1000) % 60;

但是,如果您想要像下午02:00这样的时间,您必须知道从什么时候开始计算毫秒数(即毫秒时间为“0”的时间)。

答案 1 :(得分:0)

前缀milli是10 ^ -3。因此,一毫秒是千分之一秒,每分钟六万分之一秒和每小时3600千分之一。所以1,000毫秒是一秒,60,000毫秒是一分钟,3,600,000毫秒是一小时。

这意味着,将毫秒数除以1000,得到的秒数为60,000,得到分钟数,得到3,600,000,得到小时数。

答案 2 :(得分:0)

我不确定您的问题究竟是什么,例如您需要帮助的具体部分。即使你不熟悉Javascript,通过仅仅除以每个增加的因子并取余数来做“手动”也是相当简单的,例如:

var input = ...; // your input time

var millis = input % 1000;
input /= 1000;

var seconds = input % 60;
input /= 60;

var minutes = input % 60;
input /= 60;

var hours = input % 24; // I presume this will be less than 24 anyway)

var entireTime = hours + ':' + minutes + ':' + seconds;

另一种方法是创建一个Date对象,将输入时间传递给构造函数;这将表示超过时期的毫秒数,因此打印出其值将包括给定时间。根据您可用的格式化框架的日期,这可能是一种更直接的方法 - 它肯定会在操纵值方面提供更大的灵活性。

只是一个想法 - 确保你完全理解输入实际是什么。以毫秒为单位给出输入 time 是相对不常见的;我希望这样的输入实际上是持续时间。这无疑可能是午夜过后的毫秒数,但请确保它不是超过其他任意起点的毫秒数。