我正在尝试转换动态值milliseconds
,如下所示:
进入对应时间,应该是1800000
30
分钟。
这是我的代码:
var time = new Date(milliseconds);
console.log("time => " , time);
var m = time.getMinutes();
console.log("m => ", m);
时间=> Thu Jan 01 1970 08:00:00 GMT + 0100(ora solare Europa occidentale)
m => 30
这是正确的,但如果我尝试使用此毫秒值=> 25200000
m return this => 0
有正确的方法可以返回相应的分钟数吗?
答案 0 :(得分:3)
Date()
对象在这里过度杀伤。这只是分裂:
var minutes = milliseconds / (1000 * 60);
或者,如果您不想要任何小数分钟,
var minutes = Math.floor(milliseconds / (1000 * 60));
在您的示例中,您将毫秒转换为日期 - 日期/时间milliseconds
ms,超过1970年1月1日。一小时过后,getMinutes()
将再次返回0
,因为小时已递增等等。
答案 1 :(得分:0)
你需要这种方法:
var milliseconds = 1800000;
var minutes = milliseconds / 1000 / 60;
console.log( "m => ", minutes );
您可以使用新日期(毫秒)为您提供 - 从您的结果中可以看出 - 大纪元日期后的30分钟,即1970年1月1日。
答案 2 :(得分:0)
您必须将毫秒转换为分钟:
var milliseconds = 1800000;
var minutes = Math.floor(milliseconds / 60000);
console.log(minutes); // output 30