Javascript 使用小时和分钟显示问候语(上午/下午/晚上)

Javascript 使用小时和分钟显示问候语(上午/下午/晚上),javascript,html,Javascript,Html,我正在尝试编写一个HTML文档来显示对访问者的问候,比如“早上好/下午好/晚上好!” 但我不知道如何同时使用小时和分钟: ITP1 var myDate=新日期(); var hrs=myDate.getHours(); var mins=date.getMinutes(); var问候; 如果(hrs>=12&&hrs=12&&hrs=17&&hrs首先,将date.getMinutes()更改为myDate.getMinutes() 然后,您可以这样比较它们: if(hrs>=5&&((h

我正在尝试编写一个HTML文档来显示对访问者的问候,比如“早上好/下午好/晚上好!” 但我不知道如何同时使用
小时
分钟


ITP1
var myDate=新日期();
var hrs=myDate.getHours();
var mins=date.getMinutes();
var问候;

如果(hrs>=12&&hrs=12&&hrs=17&&hrs首先,将
date.getMinutes()
更改为
myDate.getMinutes()

然后,您可以这样比较它们:

if(hrs>=5&&((hrs==5&&min>=30)| |(hrs>5&&hrs<12)))
问候=‘早上好’;
否则,如果(小时数>=12和小时数<18)
问候=‘下午好’;
如果((小时数>=18和小时数<24)| |小时数>0)
问候=‘晚上好’;
其他的
问候语='错误';
注意,我在结尾添加了一个else,用于处理奇怪的情况

下面的代码片段显示了这一点。不要担心其他代码;它只是为了使测试输出可读

函数doATest(timeIn){
var myDate=新日期(timeIn?“0”+timeIn:null);
var hrs=myDate.getHours();
var mins=myDate.getMinutes();//将日期更改为myDate
var问候;
//早上5:30-11:59
//下午12:00-17:59
//晚上18:00-05:29
如果(小时数>=5&((小时数==5&&min>=30)| |(小时数>5&&hrs<12)))
问候=‘早上好’;
否则,如果(小时数>=12和小时数<18)
问候=‘下午好’;
如果((小时数>=18和小时数<24)| |小时数>0)
问候=‘晚上好’;
其他的
问候语='错误';
document.getElementById('timeline').innerHTML+=
'' +
“+(timeIn?timeIn:“现在”)+”+
''问候'''+
'';
}
doATest(“1:00”);
doATest(“1:37”);
doATest(“5:00”);
doATest(“5:15”);
doATest(“5:29”);
doATest(“5:29:59”);
doATest(“5:30”);
doATest(“5:45”);
doATest(“6:00”);
doATest(“6:15”);
doATest(“6:30”);
doATest(“6:45”);
doATest(“6:45”);
doATest(“7:00”);
doATest(“华夫饼”);//无效
doATest(“9:45”);
doATest(“11:00”);
doATest(“11:30”);
doATest(“11:45”);
doATest(“11:59”);
doATest(“11:59:59”);
doATest(“12:00”);
doATest(“12:34”);
doATest(“12:48”);
doATest(“13:00”);
doATest(“13:57”);
doATest(“15:00”);
doATest(“17:00”);
doATest(“17:20”);
doATest(“17:40”);
doATest(“17:59”);
doATest(“17:59:59.999”);
doATest(“18:00”);
doATest(“17:76”);//无效
doATest(“18:36”);
doATest(“18:63”);//无效
doATest(“19:00”);
doATest(“20:00”);
doATest(“23:00”);
doATest(“24:00”);//实际上是第二天0:00
doATest(“27:00”);//无效

ITP1
时间
招呼

首先,将
date.getMinutes()
更改为
myDate.getMinutes()

然后,您可以这样比较它们:

if(hrs>=5&&((hrs==5&&min>=30)| |(hrs>5&&hrs<12)))
问候=‘早上好’;
否则,如果(小时数>=12和小时数<18)
问候=‘下午好’;
如果((小时数>=18和小时数<24)| |小时数>0)
问候=‘晚上好’;
其他的
问候语='错误';
注意,我在结尾添加了一个else,用于处理奇怪的情况

下面的代码片段显示了这一点。不要担心其他代码;它只是为了使测试输出可读

函数doATest(timeIn){
var myDate=新日期(timeIn?“0”+timeIn:null);
var hrs=myDate.getHours();
var mins=myDate.getMinutes();//将日期更改为myDate
var问候;
//早上5:30-11:59
//下午12:00-17:59
//晚上18:00-05:29
如果(小时数>=5&((小时数==5&&min>=30)| |(小时数>5&&hrs<12)))
问候=‘早上好’;
否则,如果(小时数>=12和小时数<18)
问候=‘下午好’;
如果((小时数>=18和小时数<24)| |小时数>0)
问候=‘晚上好’;
其他的
问候语='错误';
document.getElementById('timeline').innerHTML+=
'' +
“+(timeIn?timeIn:“现在”)+”+
''问候'''+
'';
}
doATest(“1:00”);
doATest(“1:37”);
doATest(“5:00”);
doATest(“5:15”);
doATest(“5:29”);
doATest(“5:29:59”);
doATest(“5:30”);
doATest(“5:45”);
doATest(“6:00”);
doATest(“6:15”);
doATest(“6:30”);
doATest(“6:45”);
doATest(“6:45”);
doATest(“7:00”);
doATest(“华夫饼”);//无效
doATest(“9:45”);
doATest(“11:00”);
doATest(“11:30”);
doATest(“11:45”);
doATest(“11:59”);
doATest(“11:59:59”);
doATest(“12:00”);
doATest(“12:34”);
doATest(“12:48”);
doATest(“13:00”);
doATest(“13:57”);
doATest(“15:00”);
doATest(“17:00”);
doATest(“17:20”);
doATest(“17:40”);
doATest(“17:59”);
doATest(“17:59:59.999”);
doATest(“18:00”);
doATest(“17:76”);//无效
doATest(“18:36”);
doATest(“18:63”);//无效
doATest(“19:00”);
doATest(“20:00”);
doATest(“23:00”);
doATest(“24:00”);//实际上是第二天0:00
doATest(“27:00”);//无效

ITP1
时间
招呼

hrs>=12&&hrs可能是@Caspera的副本否,我的问题是如何同时使用小时和分钟,而不仅仅是小时,这就是我在上面所做的。控制台错误告诉我您有一个未定义的变量。此行:
var mins=date.getMinutes();
应该是
var mins=myDate.getMinutes());
hrs>=12&&hrs可能是@Caspera的重复项否,我的问题是如何同时使用小时和分钟而不仅仅是小时,这就是我在上面所做的。控制台错误告诉我您有一个未定义的变量。此行:
var mins=date.getMinutes();
应该是
var mins=myDate.getMinutes()非常感谢,这正是我所困惑的。非常感谢,这正是我所困惑的。