How to convert minutes to hours/minutes and add va

2019-01-30 18:04发布

There are a couple parts to this question. I am not opposed to using a jQuery plugin if anyone knows of one that will accomplish what I want done.

Q1 - How do I convert minutes into hours and vise versa? For example how would I convert 90 minutes into 1 hour and 30 minutes. In the code below how would I get "totalMin" converted and displayed in "convertedHour" and "convertedMin"?

HTML:

<span class="totalMin">90</span> Minutes

<span class="convertedHour">0</span> Hours
<span class="convertedMin">0</span> Minutes

jsFiddle: http://jsfiddle.net/ExFBD

Q2 - How would I add up a group of time slots? For example, How would I add 1 hour 30 mins, 2 hours 45 mins and 2 hour 15 mins together?

HTML:

<span class="hour-1 hour">1</span> hour
<span class="min-1 min">30</span> min

<span class="hour-2 hour">2</span> hour
<span class="min-2 min">45</span> min

<span class="hour-3 hour">2</span> hour
<span class="min-3 min">15</span> min


<span class="totalHour">0</span> hour
<span class="totalMin">0</span> min

jsFiddle: http://jsfiddle.net/DX9YA/

Q3 - How would I take a time value (3 hours and 30 mins) and add it to a real time stamp such as 10:30 AM? How would I take AM vs PM into account?

10条回答
Viruses.
2楼-- · 2019-01-30 18:19

I took the liberty of modifying ConorLuddy's answer to address both 24 hour time and 12 hour time.

function minutesToHHMM (mins, twentyFour = false) {
  let h = Math.floor(mins / 60);
  let m = mins % 60;
  m = m < 10 ? '0' + m : m;

  if (twentyFour) {
    h = h < 10 ? '0' + h : h;
    return `${h}:${m}`;
  } else {
    let a = 'am';
    if (h >= 12) a = 'pm';
    if (h > 12) h = h - 12;
    return `${h}:${m} ${a}`;
  }
}
查看更多
聊天终结者
3楼-- · 2019-01-30 18:20
Animai°情兽
4楼-- · 2019-01-30 18:26

This code can be used with timezone

javascript:

 let minToHm = (m) => {
        let h = Math.floor(m/60);
        h += (h < 0) ? 1 : 0;
        let m2 = Math.abs(m%60);
        m2 = (m2 < 10) ? '0'+m2 : m2;
        return (h < 0 ? '' : '+')+h+':'+m2;
    }

minToHm(210) "+3:30"

minToHm(-210) "-3:30"

minToHm(0) "+0:00"

查看更多
虎瘦雄心在
5楼-- · 2019-01-30 18:30

Q1:

$(document).ready(function() {
    var hours = Math.floor( $('.totalMin').html() / 60);          
    var minutes = $('.totalMin').html() % 60;


    $('.convertedHour').html(hours);
    $('.convertedMin').html(minutes);    

});

Q2:

$(document).ready(function() {

    var minutes = 0;

    $('.min').each(function() {
        minutes = parseInt($(this).html()) + minutes;
    });

    var realmin = minutes % 60
    var hours = Math.floor(minutes / 60)

    $('.hour').each(function() {
        hours = parseInt($(this).html()) + hours;
    });


    $('.totalHour').html(hours);
    $('.totalMin').html(realmin);    

});
查看更多
登录 后发表回答