momentjs如何格式化为21h:31m

时间:2016-03-13 15:58:54

标签: javascript time momentjs

我希望按以下格式从秒转换为小时和分钟:

21h:31m
28h:40m
20m
5h

我不想显示秒数或天数,也不显示0h:30m(仅限30m)而不显示1h:0m(仅1h)

有没有办法用momentjs格式化这个?

1 个答案:

答案 0 :(得分:0)

查看momentjs docs的持续时间。

您可以用秒(moment.duration(60*60*48+5*60, "seconds"))输入时间,然后运行一些代码为您格式化:

var time = moment.duration(60*60*48+5*60, "seconds");
var hours = Math.floor(time.asHours());
var minutes = time.minutes();
var timeString = "";
if (hours > 0) {
  timeString += hours + "h";
}
if (hours > 0 && minutes > 0) {
  timeString += ":";
}
if (minutes >= 10) {
  timeString += minutes + "m";
} else if (minutes > 0) {
  timeString += "0" + minutes + "m";
}