获得时间并用它定义不同的变量

时间:2017-01-31 14:37:26

标签: javascript jquery

我创建了一个我有时间的功能。然后设置变量来定义早晨,中午和晚上。最后使用greeting变量调用变量。

我不确定我对crend变量做错了什么。 print变量确实有效。

有人看到我做错了吗?

jsfiddle



morningTime

noonTime




1 个答案:

答案 0 :(得分:3)

h = (d.getHours() < 10 ? '0' + d.getHours() : '') + d.getHours(),
m = (d.getMinutes() < 10 ? '0' + d.getMinutes() : '') + d.getMinutes();

我从这两行看到的是,您将小时和分钟两次接触到一个字符串。

如果是上午09:09,上面的代码会将099作为h099作为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!';