首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数字秒表

数字秒表
EN

Stack Overflow用户
提问于 2009-12-19 20:18:55
回答 3查看 869关注 0票数 0

嗨,

我有一个以毫秒为单位的输入时间。我想在我的应用程序中包含一个数字秒表,也就是说,时间会像数字时钟一样每秒钟动态变化。

EN

回答 3

Stack Overflow用户

发布于 2009-12-19 20:21:57

可以将毫秒除以1000得到秒数,然后除以60得到分钟数,再除以60得到小时数。或者,更好的方法是使用模数:

代码语言:javascript
复制
hours = parseInt(milliseconds / 3600) % 24;
minutes = parseInt(milliseconds / 60) % 60;
seconds = (milliseconds / 1000) % 60;

然而,如果你想要一个像下午2点这样的时间,你必须知道你从什么时候开始计算毫秒(例如,当毫秒是“0”时,它是什么时候)。

票数 2
EN

Stack Overflow用户

发布于 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得到小时数。

票数 0
EN

Stack Overflow用户

发布于 2009-12-19 20:26:59

我不确定你的问题到底是什么,比如你需要帮助的具体部分。即使你不太熟悉Javascript,“手动”也很简单,只需除以每个递增因子,然后取余数,例如:

代码语言: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对象,将输入时间传递到构造函数中;这将表示超过纪元的毫秒数,因此打印出它的值将包括给定的时间。根据可用的日期格式化框架,这可能是一种更直接的方法-而且它在处理值方面肯定会有更大的灵活性。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1932772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档