一天中的时间问候代码不能以 am/pm 格式工作

是的,所以问题很简单,我认为解决方案也应该很简单,但我是一个完整的新手,所以不知道它是如何工作的。如果时间来源是 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>');


阿波罗的战车
浏览 188回答 2
2回答

翻翻过去那场雪

我发现了这个问题。按照我的理解,对于 JS 代码,12:59 仍然是 12,因此“早上好!”。所以我必须提前一小时设置hourNow。像这样:&nbsp; &nbsp;var today = new Date();&nbsp; &nbsp; var hourNow = today.getHours();&nbsp; &nbsp; var greeting;&nbsp; &nbsp; if (hourNow > 16) {&nbsp; &nbsp; &nbsp; greeting = 'Good Evening!';&nbsp; &nbsp; } else if (hourNow > 11) {&nbsp; &nbsp; &nbsp; greeting = 'Good Afternoon!';&nbsp; &nbsp; } else if (hourNow > 0) {&nbsp; &nbsp; &nbsp; greeting = 'Good morning!';&nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; greeting = 'Welcome!';&nbsp; &nbsp; }&nbsp; &nbsp; console.log(greeting);这样我就会得到下午好!中午12点以后,晚上好!下午5点以后

HUWWW

正如 Turbo 所评论的那样,Date 对象不会以 AM/PM 格式存储数据,因此您的代码必须在任何地方都可以使用,并且我在浏览器中测试了它是否适合我。var today = new Date ();console.log(today);&nbsp; &nbsp; &nbsp; &nbsp;// Sun May 26 2019 18:04:28 GMT+0530 (India Standard Time)var hourNow = today.getHours();console.log(hourNow);&nbsp; &nbsp; &nbsp;// 18
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript