javascript日期返回undefined

时间:2011-06-19 06:41:09

标签: javascript jquery time

我在javascript中显示时间,但是当它返回时间时总是未定义。下面是代码

我不确定为什么它总是返回undefined但是。

$('#bar #time').html(hours + ":" + minutes + " " + suffix);


var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()

//decides if am or pm
var suffix = "AM";
if (hours >= 12) {
    suffix = "PM";
    hours = hours - 12;
}
if (hours == 0) {
    hours = 12;
}

// shows 0 before the minutes if under 10
if (minutes < 10)
minutes = "0" + minutes

4 个答案:

答案 0 :(得分:3)

嗯,如果代码是按顺序排列的,那么您只需将第一行放在最后一行,因为hoursminutessuffix都是未定义的。除此之外它应该工作正常(并且每个镀铬控制台都可以)。

答案 1 :(得分:1)

与您的实际问题并不完全相关,但$('#bar #time')将是一个效率相当低的jQuery选择器。由于ID只在您的文档中使用过一次,因此只搜索$('#time')会得到相同的结果,并且只需要JavaScript引擎一次而不是两次点击document.getElementById

小点,但值得一提。

答案 2 :(得分:0)

此处没有分号

var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()

答案 3 :(得分:0)

$(document).ready(function(){


var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()

//decides if am or pm
var suffix = "AM";
if (hours >= 12) {
    suffix = "PM";
    hours = hours - 12;
}
if (hours == 0) {
    hours = 12;
}

// shows 0 before the minutes if under 10
if (minutes < 10)
minutes = "0" + minutes

    $('#bar').html(hours + ":" + minutes + " " + suffix);

});

打印变量的顺序很重要,

在印刷时没有定义它们。