Javascript .getHours() 无法正常工作

标签 javascript

我使用以下 JavaScript 根据网站访问者访问的时间向他们动态显示消息。

var myDate = new Date(); 

/* hour is before noon */
if ( myDate.getHours() < 12 )  
{ 
    document.write("Good morning"); 
} 
else  /* Hour is from noon to 5pm (actually to 5:59 pm) */
if ( myDate.getHours() >= 12 && myDate.getHours() <= 17 ) 
{ 
    document.write("Good afternoon"); 
} 
else  /* the hour is after 5pm, so it is between 6pm and 2am */
if ( myDate.getHours() > 17 && myDate.getHours() <= 2 ) 
{ 
    document.write("Good evening"); 
} 
else  /* the hour is not between 0 and 24, so something is wrong */
{ 
    document.write("Hello"); 
} 

这是我在本网站上其他人的问题的答案中找到的脚本。它运行良好,但几周后,它不再显示“晚上好”消息。因此,“早上好”和“下午好”正常工作,但是当应该显示“晚上好”消息时,它只显示“Hello”,表明脚本有问题。我尝试重写它并更改时间,但总是遇到相同的错误。

有人知道是什么原因导致这个问题吗?谢谢!

最佳答案

您的问题是没有 getHours() 的结果将满足您的 if 条件。换句话说,getHours() 没有值(value)。可以是> 17<= 2 .

尝试改为使用 or ( || ) 来满足您的评论要求:

if ( myDate.getHours() > 17 || myDate.getHours() <= 2 ) 

关于Javascript .getHours() 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37296940/

相关文章:

javascript - Node mssql更新查询,获取行数

javascript - IE 安全设​​置设置为高 - javascript 不工作

javascript - 仅在 slider 停止后更新 slider

javascript - 这里变量声明有什么区别?

javascript - 事件监听器和本地数据存储

javascript - ParcelJs 在所有文件链接之前添加额外的 "/"

javascript - 在 JQuery 中选择当前表单的值

javascript - 我认为 stopPropagation() 破坏了我的鼠标事件 - 我该如何修复?

javascript - jQuery 隐藏仅触发一次

javascript - jQuery 将 JSON 数据附加到表中总是将元素放在错误的位置