AngularJS - 你如何将毫秒转换为 xHours 和 yMins [英] AngularJS - How do you convert milliseconds to xHours and yMins

查看:25
本文介绍了AngularJS - 你如何将毫秒转换为 xHours 和 yMins的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个要求,我想在 AngularJS 中将毫秒转换为 xHours 和 yMins.

例如.3600000 应显示为 1h 0m.

我尝试使用 日期格式 在 Angular 的网站上.

但是那些给出 19:0 和 19:00 而不是 1h 0m.

实现这一目标的任何指示都会有所帮助.

谢谢

解决方案

让我们为此自定义过滤器,例如:

.filter('millSecondsToTimeString', function() {返回函数(毫秒){var oneSecond = 1000;var oneMinute = oneSecond * 60;var oneHour = oneMinute * 60;var oneDay = oneHour * 24;var seconds = Math.floor((millseconds % oneMinute)/oneSecond);var 分钟 = Math.floor((millseconds % oneHour)/oneMinute);var hours = Math.floor((millseconds % oneDay)/oneHour);var days = Math.floor(millseconds/oneDay);var timeString = '';如果(天!=​​= 0){timeString += (days !== 1) ?(天 + '天') : (天 + '天');}如果(小时!== 0){timeString += (小时 !== 1) ?(小时 + '小时') : (小时 + '小时');}如果(分钟!== 0){timeString += (分钟 !== 1) ?(分钟 + '分钟') : (分钟 + '分钟');}如果(秒!== 0 || 毫秒 <1000){timeString += (seconds !== 1) ?(seconds + 'seconds') : (seconds + 'second');}返回时间字符串;};});

然后使用它:

{{ millSeconds |millSecondsToTimeString }}</div>

I've a requirement where I want to convert milliseconds to xHours and yMins in AngularJS.

For ex. 3600000 should be displayed as 1h 0m.

I tried using date:'H:m' and date:'HH:mm' from the date formats on Angular's website.

But those give 19:0 and 19:00 instead of 1h 0m.

Any pointers of achieving this will be helpful.

Thanks

解决方案

Let make a custom filter for this, e.g:

.filter('millSecondsToTimeString', function() {
  return function(millseconds) {
    var oneSecond = 1000;
    var oneMinute = oneSecond * 60;
    var oneHour = oneMinute * 60;
    var oneDay = oneHour * 24;

    var seconds = Math.floor((millseconds % oneMinute) / oneSecond);
    var minutes = Math.floor((millseconds % oneHour) / oneMinute);
    var hours = Math.floor((millseconds % oneDay) / oneHour);
    var days = Math.floor(millseconds / oneDay);

    var timeString = '';
    if (days !== 0) {
        timeString += (days !== 1) ? (days + ' days ') : (days + ' day ');
    }
    if (hours !== 0) {
        timeString += (hours !== 1) ? (hours + ' hours ') : (hours + ' hour ');
    }
    if (minutes !== 0) {
        timeString += (minutes !== 1) ? (minutes + ' minutes ') : (minutes + ' minute ');
    }
    if (seconds !== 0 || millseconds < 1000) {
        timeString += (seconds !== 1) ? (seconds + ' seconds ') : (seconds + ' second ');
    }

    return timeString;
};
});

Then use it:

<div>{{ millSeconds | millSecondsToTimeString }}</div>

这篇关于AngularJS - 你如何将毫秒转换为 xHours 和 yMins的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆