嗨,
我有一个以毫秒为单位的输入时间。我想在我的应用程序中包含一个数字秒表,也就是说,时间会像数字时钟一样每秒钟动态变化。
发布于 2009-12-19 20:21:57
可以将毫秒除以1000得到秒数,然后除以60得到分钟数,再除以60得到小时数。或者,更好的方法是使用模数:
hours = parseInt(milliseconds / 3600) % 24;
minutes = parseInt(milliseconds / 60) % 60;
seconds = (milliseconds / 1000) % 60;然而,如果你想要一个像下午2点这样的时间,你必须知道你从什么时候开始计算毫秒(例如,当毫秒是“0”时,它是什么时候)。
发布于 2009-12-19 20:26:22
前缀milli是10^-3。因此,1毫秒是千分之一秒,60千分之一分钟和3600千分之一小时。所以1,000毫秒是1秒,60,000毫秒是1分钟,3,600,000毫秒是1小时。
这意味着,将毫秒数除以1000得到秒数,除以60,000得到分钟数,再除以3,600,000得到小时数。
发布于 2009-12-19 20:26:59
我不确定你的问题到底是什么,比如你需要帮助的具体部分。即使你不太熟悉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对象,将输入时间传递到构造函数中;这将表示超过纪元的毫秒数,因此打印出它的值将包括给定的时间。根据可用的日期格式化框架,这可能是一种更直接的方法-而且它在处理值方面肯定会有更大的灵活性。
这只是一个想法--确保你完全理解输入的实际是什么。提供以毫秒为单位的输入时间相对不常见;我认为这样的输入实际上应该是一个持续时间。诚然,这可能是午夜过后的毫秒数,但请确保它不是超过其他任意起始点的毫秒数。
https://stackoverflow.com/questions/1932772
复制相似问题