我想提示用户在早上6点到9点之间输入一个时间,然后在下午5点到8点之间输入。我得到了适当的提示,但我不知道如何将它与上午或下午区分开来?
{{1}}
答案 0 :(得分:0)
区分AM和PM的一种方法是使用24小时制。
24小时制时,PM值大于12
。例如18
。
然后,您可以从该值if>12
中减去12以获得非24小时版本。例如:18 - 12
是6PM
答案 1 :(得分:0)
解决方案1:
你可以要求24小时的时间:
var prompt = prompt("What time is it?", "24 hour time only");
prompt = prompt.replace(":", "");//replaces : in 9:25
prompt = parseInt(prompt);//get the integer part of prompt
if (prompt > 6 && prompt < 9 || (prompt > 600 && prompt < 900)) {//between 6-9 am
//do something
}
else if (prompt > 17 && prompt < 20 || (prompt > 1700 && prompt < 2000)) {//between 5-8 pm
//do something
}
else {//neither
//do something
}
&#13;
解决方案2: 检查它是否以&#34; am&#34;结束。或&#34; pm&#34;:
var prompt = prompt("What time is it?", "8am");
prompt = prompt.replace(":","");//replaces : in 9:25am
if (prompt.substr(-2,2) == "am") {
var time = "am";
}
else if (prompt.substr(-2,2) == "pm") {
var time = "pm"
}
else {
alert('not a time');
}
prompt = parseInt(prompt);
if (prompt > 6 && prompt < 9 && time == "am" || (prompt > 600 && prompt < 900 && time == "am")) {
alert("6-9 am");
}
else if (prompt > 5 && prompt < 8 && time == "pm" || (prompt > 500 && prompt < 800 && time == "pm")) {
alert("5-8 pm");
}
else {
//do something
}
&#13;