2016-11-10 93 views
0

我有一个wakeup_time和SLEEP_TIME之间的时间需要查找所有的人唤醒时间和睡眠时间的jQuery

例如:wakeup_time = 09:00和SLEEP_TIME = 11:00

我需要在这两次之间找到所有的时间(12 H格式)。

唤醒和睡眠时间会变化。

预期结果:9日下午,10点,12点,凌晨1点多,......上午10点,11点

+0

难道你不能只是'sleep_time - wakeup_time'吗? – Tinsten

+0

H格式是一个strint对不对? – Tinsten

+0

我需要在sleep_time和wakeup_time之间获得所有的时间(例如:晚上10点,晚上11点,上午12点,上午1点....上午11点)。 – Shanthi

回答

1

另一个。尝试这个。

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

所以转换的时间为24个小时,然后它。减去你找到它 对于转换到24小时看到下面的代码:

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

这answer.its取决于在上午,下午的计算工作对我很好尝试。

    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);