首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有一种简单的方法可以使用moment.js将十进制时间(例如1.074分钟)转换为mm:ss格式?

有没有一种简单的方法可以使用moment.js将十进制时间(例如1.074分钟)转换为mm:ss格式?
EN

Stack Overflow用户
提问于 2013-07-12 00:45:54
回答 4查看 22K关注 0票数 14

我想知道是否有一种简单的方法,使用moment.js库,将十进制时间间隔(例如,1.074分钟)转换为等效的'mm:ss‘值。我目前使用的函数对于负时间不太有效(它以'-m:ss‘格式输出值):

代码语言:javascript
复制
function secTommss(sec){
 var min = Math.floor(sec/60)
 sec = Math.round(Math.abs(sec) % 60);
 return min + ":" + (sec < 10 ? "0" + sec : sec)
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-07-12 01:16:53

下面是一些JavaScript,它们可以实现您所要求的功能:

代码语言:javascript
复制
function minTommss(minutes){
 var sign = minutes < 0 ? "-" : "";
 var min = Math.floor(Math.abs(minutes));
 var sec = Math.floor((Math.abs(minutes) * 60) % 60);
 return sign + (min < 10 ? "0" : "") + min + ":" + (sec < 10 ? "0" : "") + sec;
}

示例:

代码语言:javascript
复制
minTommss(3.5)        // "03:30"
minTommss(-3.5)       // "-03:30"
minTommss(36.125)     // "36:07"
minTommss(-9999.999)  // "-9999:59"

您可以使用moment.js durations,例如

代码语言:javascript
复制
moment.duration(1.234, 'minutes')

但是目前,还没有一种清晰的方法来格式化mm:ss中的持续时间,所以你无论如何都要重新做大部分工作。

票数 29
EN

Stack Overflow用户

发布于 2014-05-19 05:27:09

使用moment:

代码语言:javascript
复制
function formatMinutes(mins){
  return moment().startOf('day').add(mins, 'minutes').format('m:ss');
}
票数 7
EN

Stack Overflow用户

发布于 2013-07-12 00:58:54

只使用js,这里有一个非常简单快速的方法,可以在12小时内做到这一点:

代码语言:javascript
复制
function secTommss2(sec){
  return new Date(sec*1000).toUTCString().split(" ")[4]
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17599054

复制
相关文章

相似问题

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