无法使用javascript中的Date()方法获得预期结果
Unable to get expected result with Date() method in javascript
我正在开发一个音乐应用程序。如果添加了音乐文件,那么我应该获得持续时间(以毫秒为单位)并将持续时间转换为分钟。
var d = new Date(ms);
var hms = d.getMinutes().toString() +':'+ d.getSeconds().toString();
如果我提供ms = 331807;
expected answer is = 11:42
而result is = 41:02
我无法解决这个问题。谁能帮我找到解决办法?
Date
对象期望从UTC时间1970年1月1日开始的毫秒数。但是,getMinutes
和getSeconds
函数将相对于代码运行所在的时区输出。
如果你想使用Date
对象,你应该使用getUTCMinutes
和getUTCSeconds
来代替。
然而,正如其他人指出的,这不是Date
对象的最佳用例。您可以通过简单的数学运算将毫秒转换为分钟和秒。
Date
构造函数用传递给它的可选参数实例化一个新对象。将一定数量的毫秒值传递给它,将得到一个新的Date
对象,这是自epoch以来的日期和时间,相对于传递给它的毫秒数。getMinutes
可能会给您42,因为您传递给Date
构造函数的时间是所构造日期的第42分钟。
您可以通过简单的乘法将毫秒转换为分钟。
numberOfMilliseconds / (1000*60)
相关文章:
- JQuery:向多个匹配结果添加换行符的最简单方法
- 什么'这是从第三个函数上的async 1st函数获得结果的更好方法
- knex:根据结果创建数组的合适方法是什么
- javascript Ajax方法在不同的浏览器中有不同的结果
- 包含插入的Meteor方法没有返回记录ID作为结果
- 向模板实例变量传递调用方法调用的结果时出现异常
- Meteor:如何遍历一个数组,这是一个异步方法的结果
- 为什么在给出第一个结果后仍然调用此方法
- 使用Math.round的奇怪方法结果
- 使用lodash'扩展JS对象实例;s的extend方法会导致奇怪的结果
- 有没有更好的方法来实现同样的结果?单页网站
- 调用.ajax方法得到未定义的json结果,返回json格式列表<字符串>
- 从请求.js请求方法返回结果
- 对为什么js函数中的相同方法有不同的结果感到困惑
- 调用 HTTP get 方法以使用 angular JS 在下拉列表中填充结果
- MongoDB mapReduce方法意外结果
- 使用单个 ng 模型筛选结果并显示筛选方法
- 操作 RxJS 流并发布结果的可观察量的正确方法是什么?
- 保存方法结果的包装器
- 在Spring MVC中返回@Async方法结果,并将其返回给Ajax客户端