我正在尝试建立一个程序,将军事时间转换为上午或下午。

我期望0的输出为12 am,但实际输出为0 am。



const militaryHour = 0;

var hour = 0;
var amOrPm = "am";

if (militaryHour < 12) {
    hour = militaryHour;
    console.log(hour + " " + amOrPm);
} else if (militaryHour == 12) {
    amOrPm = "pm";
    hour = 12;
    console.log(hour + " " + amOrPm);
} else if (militaryHour < 24) {
    amOrPm = "pm";
    hour = militaryHour - 12;
    console.log(hour + " " + amOrPm);
} else if (militaryHour == 24){
    hour = 12;
    console.log(hour + " " + amOrPm);
} else {
    hour = 12;
    console.log(hour + " " + amOrPm);
}

最佳答案

您需要的所有代码

const militaryHour = 0,
    hour = (militaryHour + 11) % 12 + 1,
    amOrPm = militaryHour % 24 < 12 ? 'am' : 'pm';


不需要/其他

09-17 12:23