我创建了一个我有时间的功能。然后设置变量来定义早晨,中午和晚上。最后使用greeting变量调用变量。
我不确定我对crend
变量做错了什么。 print
变量确实有效。
有人看到我做错了吗?
morningTime

noonTime

答案 0 :(得分:3)
h = (d.getHours() < 10 ? '0' + d.getHours() : '') + d.getHours(),
m = (d.getMinutes() < 10 ? '0' + d.getMinutes() : '') + d.getMinutes();
我从这两行看到的是,您将小时和分钟两次接触到一个字符串。
如果是上午09:09,上面的代码会将099
作为h
,099
作为m
。
如果你想在左边填充处保持0,你可以这样做:
h = ('0' + d.getHours()).slice(-2),
m = ('0' + d.getMinutes()).slice(-2),
现在回到你的问题,你根本不需要做0-padding,只需尝试以下方法:
function timeNow() {
var d = new Date(),
h = d.getHours(),
// To check for a time range (between 4:: and 11:30 here):
var morningTime = h >= 5 && h <= 12;
var noonTime = h > 12 && h <= 17;
var nightTime = h > 17 && h < 5;
var greeting = "";
if (morningTime) {
greeting = "Good Morning";
} else if (noonTime) {
greeting = "Good Afternoon";
} else if (nightTime) {
greeting = "Good Evening";
}
return greeting;
}
document.getElementById('dashboard-hello').innerHTML = timeNow() + ', name!';