我正在使用JavaScript Date对象将毫秒转换为可读的minutes:seconds
格式化字符串。我需要为自定义视频播放器创建一个定时器,其中我的JS界面将视频持续时间信息接收为毫秒值。getHours()返回不正确的值
在我决定支持超过59分钟的视频的可能性之前,这是一项相当平凡的任务。然后我遇到了这个问题:当我向新的Date对象的构造函数提交一个毫秒值,然后调用getHours()
时,即使毫秒数表示一段时间少于一个小时,它也会返回一些值。看到这个动作最简单的方法是给它喂食,比方说,0
我希望它返回0,但它总是返回12(13歌剧,这使得它更奇怪的)。这是一个正常的行为还是一个错误?无论哪种方式,我如何可靠地检测出我的毫秒值是仅限于分钟和秒还是还包括小时?
谢谢。
UPD:
我测试它在Chrome 15和Firefox 7上OSX:相同的结果根据上面的屏幕截图。我无法弄清楚如何使用Opera Dragonfly控制台,但是从我看到的相同的事情发生在Opera中,只有值为13的getHours()
。
你不想在这里使用'Date'构造函数。 'new Date(n)'返回一个日期对象,日期设置为1970年1月1日+ n毫秒,这肯定不是你想要的... –
@ŠimeVidas,那么什么是好的选择? – Arnold
我会写我自己的功能。 –