我有wakeup_time和sleep_time
wakeup_time=09:00下午11:00和sleep_time=
我需要找到所有的时间(12H格式)之间的这两次。
醒来和睡觉的时间会变的不一样。
预期结果:晚上九时、十时、下午十二时、凌晨一时、......,10上午十一时
发布于 2016-11-14 08:02:06
又一个。尝尝这个。
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");
}发布于 2016-11-10 07:27:38
因此,将您的时间转换为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();}
发布于 2016-11-11 12:13:51
尝试这个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);https://stackoverflow.com/questions/40521545
复制相似问题