我正在尝试将日期和时间组合成特定格式:
2011年12月25日12:35
我有以下示例代码,我的任务是将其修改为上述格式。我试图通过将整个字符串放在一行代码上来实现,如下面的第二个小提琴所示。我的想法是,在每个字符串之间我调用对象上的函数,函数将被评估。
我的控制台显示以下错误:
未捕获的SyntaxError:意外的字符串index.html:19未捕获 ReferenceError:没有定义telltime(匿名函数)@ index.html的:19
我认为这是我使用字符串的方式。
<!DOCTYPE html>
<html>
<head>
<title>Current Date and Time</title>
<style>
p {font: 14px normal arial, verdana, helvetica;}
</style>
<script>
function telltime() {
var out = "";
var now = new Date();
out += "<br />Date: " + now.getDate();
out += "<br />Month: " + now.getMonth();
out += "<br />Year: " + now.getFullYear();
out += "<br />Hours: " + now.getHours();
out += "<br />Minutes: " + now.getMinutes();
out += "<br />Seconds: " + now.getSeconds();
document.getElementById("div1").innerHTML = out;
}
</script>
</head>
<body>
The current date and time are:<br/>
<div id="div1"></div>
<script>
telltime();
</script>
<input type="button" onclick="location.reload()" value="Refresh" />
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Current Date and Time</title>
<style>
p {font: 14px normal arial, verdana, helvetica;}
</style>
<script>
function telltime() {
var out = "";
var now = new Date();
out += "<br />Date: " + now.getDate() " " + now.getMonth() + " " + now.getFullYear() + " " + now.getHours() + ":" + now.getMinutes();
document.getElementById("div1").innerHTML = out;
}
</script>
</head>
<body>
<script>
telltime();
</script>
The current date and time is:<br/>
<div id="div1"></div>
<input type="button" onclick="location.reload()" value="Refresh" />
</body>
</html>
答案 0 :(得分:3)
那是因为你错过了+
这里的标志:
[...] out += "<br />Date: " + now.getDate() <HERE> " " + [...]
另外,正如Paul Raub和其他人的评论中提到的那样,还有另一个错误。
您需要在创建telltime
引用之后将div
调用移至。
我喜欢在body标签之后放置这样的脚本,原因有两个,一个是不需要使用document ready
函数。还有其他好处。您可以在this本书
<!DOCTYPE html>
<html>
<head>
<title>Current Date and Time</title>
<style>
p {font: 14px normal arial, verdana, helvetica;}
</style>
<script>
function telltime() {
var out = "";
var now = new Date();
out += "<br />Date: " + now.getDate() + " " + now.getMonth() + " " + now.getFullYear() + " " + now.getHours() + ":" + now.getMinutes();
document.getElementById("div1").innerHTML = out;
}
</script>
</head>
<body>
The current date and time is:<br/>
<div id="div1"></div>
<input type="button" onclick="location.reload()" value="Refresh" />
</body>
<script>
telltime();
</script>
</html>
答案 1 :(得分:2)
1:作为其他答案,你错过了代码中的+。
2:你应该在div之后调用这个函数。因为html从上到下运行。所以代码应该是:
<!DOCTYPE html>
<html>
<head>
<title>Current Date and Time</title>
<style>
p {font: 14px normal arial, verdana, helvetica;}
</style>
<script>
function telltime() {
var out = "";
var now = new Date();
out += "<br />Date: " + now.getDate() +" " + now.getMonth() + " " + now.getFullYear() + " " + now.getHours() + ":" + now.getMinutes();
document.getElementById("div1").innerHTML = out;
}
</script>
</head>
<body>
The current date and time is:<br/>
<div id="div1"></div>
<input type="button" onclick="location.reload()" value="Refresh" />
<script>
telltime();
</script>
</body>
</html>
答案 2 :(得分:1)
如果您愿意,可以使用http://momentjs.com/并在一行中执行此操作。
$('#div1').html(moment().format("DD MMM YYYY HH:mm"));