是的,所以问题很简单,我认为解决方案也应该很简单,但是我是一个完整的新手,所以不知道它是如何工作的。如果时间来源为am pm格式,则下面的代码将不起作用,是否知道如何在两种情况下都可以使用它?
var today = new Date ();
var hourNow = today.getHours();
var greeting;
if (hourNow > 18) {
greeting = 'Good Evening!';
} else if (hourNow > 12) {
greeting = 'Good Afternoon!';
} else if (hourNow > 0) {
greeting = 'Good morning!';
} else {
greeting = 'Welcome!';
}
document.write('<h1>' + greeting + '</h1>');
答案 0 :(得分:0)
正如Turbo所言,Date对象不会以AM / PM格式存储数据,因此您的代码必须在任何地方都能工作,并且我在浏览器中对其进行了测试。
var today = new Date ();
console.log(today); // Sun May 26 2019 18:04:28 GMT+0530 (India Standard Time)
var hourNow = today.getHours();
console.log(hourNow); // 18
答案 1 :(得分:0)
我发现了问题。以我的理解,对于JS代码12:59仍然是12,因此是“早上好!”。所以我必须将小时设置为现在的一小时。像这样:
var today = new Date();
var hourNow = today.getHours();
var greeting;
if (hourNow > 16) {
greeting = 'Good Evening!';
} else if (hourNow > 11) {
greeting = 'Good Afternoon!';
} else if (hourNow > 0) {
greeting = 'Good morning!';
} else {
greeting = 'Welcome!';
}
console.log(greeting);
这样,我将获得下午好!晚上12点以后和晚上好!下午5点之后