2016-11-10 3 views
0

J'ai un wakeup_time et un sleep_timeBesoin de trouver toutes les heures entre un réveil personne en temps et temps de sommeil jquery

Par exemple: wakeup_time = 09: 00 h et sleep_time = 11h00

J'ai besoin de trouver toutes les heures (format 12 H) entre cette fois.

Le temps de réveil et de sommeil variera.

Résultat attendu: 9 heures, 22 heures, 12 heures, 1 heure, ......, 10 h, 11 h

+0

Vous ne pouvez pas faire 'sleep_time - wakeup_time'? – Tinsten

+0

Le format H est une strie droite? – Tinsten

+0

J'ai besoin de toutes les heures (par exemple: 22h, 23h, 12h, 1h du matin ... 11h du matin) entre sleep_time et wakeup_time. – Shanthi

Répondre

1

Un autre. essaye ça.

var id=0; 
     var unit=wakeup_unit; 
     var time; 
     for(var i=0;i<=totalHours;i++){ 
     id=wakeup_time+i; 

     if(id>=12){ 
      if(id==12){ 
        time=id; 
        if(wakeup_time==12){ 

        }else{ 
         if(unit=="am"){ 
          unit="pm"; 
         }else if(unit=="pm"){ 
          unit="am"; 
         }else{ 
          unit=unit; 
         } 
        } 

       }else{ 
        time=id-12; 
        if(time>=12){ 
         if(time==12){ 
          if(wakeup_time==12){ 

        }else{ 
         if(unit=="am"){ 
         unit="pm"; 
        }else if(unit=="pm"){ 
         unit="am"; 
        }else{ 
         unit=unit; 
        } 
        } 
         }else{ 
          time=time-12; 
         } 
        } 

      } 

     }else{ 
      time=id; 
     } 
     console.log(time +" "+ unit); 


     if ((wakeup_unit == "am") && (sleep_unit == "pm")) { 
         if (wakeup_time == 12 && sleep_time != 12) { 
          var totalHours = (sleep_time + 12); 
         } else if(wakeup_time != 12 && sleep_time == 12){ 
         var totalHours = (sleep_time -wakeup_time); 
         }else if (wakeup_time == 12 && sleep_time == 12) { 
          var totalHours = 12; 
         } else { 
          var totalHours = (sleep_time > wakeup_time) ? ((sleep_time + 12) - wakeup_time) : ((sleep_time + 12) - wakeup_time); 
         } 
        } else if ((wakeup_unit == "pm") && (sleep_unit == "am")) { 
         if (wakeup_time == 12 && sleep_time != 12) { 
          var totalHours = sleep_time + 12; 
         } else if (wakeup_time != 12 && sleep_time == 12) { 
          var totalHours = sleep_time - wakeup_time; 
         } else if (wakeup_time == 12 && sleep_time == 12) { 
          var totalHours = 12; 
         } else { 
          var totalHours = (sleep_time > wakeup_time) ? 24 - ((wakeup_time + 12) - sleep_time) : 24 - ((wakeup_time + 12) - sleep_time); 
         } 
        } else if ((wakeup_unit == "am") && (sleep_unit == "am")) { 
         if (wakeup_time == 12 && sleep_time == 12) { 
          var totalHours = 0; 
         }else if (wakeup_time == 12 && sleep_time != 12) { 
          var totalHours = sleep_time; 
         }else if (wakeup_time != 12 && sleep_time == 12) { 
          var totalHours = sleep_time+wakeup_time; 
         }else { 
          var totalHours = (sleep_time > wakeup_time) ? (sleep_time - wakeup_time) : 24 - (wakeup_time - sleep_time); 
         } 

        } else if ((wakeup_unit == "pm") && (sleep_unit == "pm")) { 
         if (wakeup_time == 12 && sleep_time == 12) { 
          var totalHours = 0; 
         }else if (wakeup_time == 12 && sleep_time != 12) { 
          var totalHours = sleep_time; 
         }else if (wakeup_time != 12 && sleep_time == 12) { 
          var totalHours = sleep_time+wakeup_time; 
         } else { 
          var totalHours = (sleep_time > wakeup_time) ? (sleep_time - wakeup_time) : 24 - (wakeup_time - sleep_time); 
         } 

        } else { 
         console.log("This should not come at all"); 
        } 
0

Donc convertir votre temps en 24 heures soustrayez alors il vous trouvez qu'il est Pour convertir à 24 heures voir ci-dessous le code:

function convertTo24Hour(time) { 

var hours = parseInt(time.substr(0, 2)); 
var mins = parseInt(time.substr(3, 2)); 
var strMins = ""; 
if (mins.length == 1) 
    strMins = "0" + mins; 
else strMins = mins; 
if (time.indexOf('am') >= 0 && hours <= 12) { 
    if (hours == 12) { 
     time = time.replace('12', '0'); 
    } else 
     time = hours + ":" + strMins; 
} 
if (time.indexOf('pm') >= 0 && hours <= 12) { 
    if (hours == 12) { 
     time = hours + ":" + strMins; 
    } else 
     time = (hours + 12) + ":" + strMins; 
} 
return time.replace(/(am|pm)/, '').trim(); 

}

0

Essayez cette answer.its en fonction du matin, les calculs de son travail h bien pour moi.

    var wakeup_unit = wakeup.slice(-2); 
        var sleep_unit = sleep.slice(-2); 
        var wakeup_time = parseInt(wakeup.split(':')[0], 10); 
        var sleep_time = parseInt(sleep.split(':')[0], 10); 

        if ((wakeup_unit == "am") && (sleep_unit == "pm")) { 
         var totalHours = (sleep_time > wakeup_time) ? ((sleep_time + 12) - wakeup_time) : ((sleep_time + 12) - wakeup_time); 
        } else if ((wakeup_unit == "pm") && (sleep_unit == "am")) { 
        var totalHours = (sleep_time > wakeup_time) ? 24-((wakeup_time + 12) - sleep_time) : 24-((wakeup_time+12) - sleep_time); 
        } else if ((wakeup_unit == "am") && (sleep_unit == "am")) { 
        var totalHours = (sleep_time > wakeup_time) ? (sleep_time - wakeup_time) : 24-(wakeup_time - sleep_time); 
        } else if ((wakeup_unit == "pm") && (sleep_unit == "pm")) { 
        var totalHours = (sleep_time > wakeup_time) ? (sleep_time - wakeup_time) : 24-(wakeup_time - sleep_time); 
        }else { 
         console.log("This should not come at all"); 
        } 



     var id=0; 
     var unit=wakeup_unit; 
     var time; 
     for(var i=0;i<=totalHours;i++){ 
     id=wakeup_time+i; 

     if(id>=12){ 
     if(id==12){ 
      time=id; 
      if(unit=="am"){ 
       unit="pm"; 
      }else if(unit=="pm"){ 
       unit="am"; 
      }else{ 
       unit=unit; 
      } 
     }else{ 
      time=id-12; 
      if(time>=12){ 

       if(time==12){ 

      if(unit=="am"){ 
       unit="pm"; 
      }else if(unit=="pm"){ 
       unit="am"; 
      }else{ 
       unit=unit; 
      } 
     }else{ 
     time=time-12;  
     } 
      } 

     } 

     }else{ 
     time=id; 
     } 
     console.log(time +" "+ unit);