html页面上显示时间
我试了一下,在IE中可以正确显示,显示结果如下:
2012年1月30日 16:14:35
但是在谷歌的chrome中,就会显示如下效果:
Mon Jan 30 2012 16:15:41 GMT+0800 (中国标准时间)
我自己整了个笨法,就是方法三,在每个浏览器中显示的效果都和IE相同。
方法一:
<body>
<div id="time"></div>
<script type="text/javascript">
change();
function change()
{
var today;
today = new Date();
timeString = today.toLocaleString();
document.getElementById("time").innerHTML = timeString;
setTimeout("change();", 1000);
}
</script>
</body>
方法二(在onload中调用setInterval):
<body onload="setInterval('change()',1000)">
<div id="time">
</div>
<script type="text/javascript">
function change()
{
var today;
today = new Date();
timeString = today.toLocaleString();
document.getElementById("time").innerHTML = timeString;
}
</script>
</body>
方法三:
<body onload="show();">
<div id="nowDiv"></div>
<script type="text/javascript">
function show(){
var date = new Date();
var now = "";
now = date.getFullYear()+"年";
if(date.getMonth() < 10)
{
now = now +"0";
}
now = now + (date.getMonth()+1)+"月";
//取月的时候取的是当前月-1如果想取当前月+1就可以了
if(date.getDate() < 10)
{
now = now +"0";
}
now = now + date.getDate()+"日 ";
if(date.getHours() < 10)
{
now = now +"0";
}
now = now + date.getHours()+":";
if(date.getMinutes() < 10)
{
now = now +"0";
}
now = now + date.getMinutes()+":";
if(date.getSeconds() < 10)
{
now = now +"0";
}
now = now + date.getSeconds()+" ";
document.getElementById("nowDiv").innerHTML = now;
//div的html是now这个字符串
setTimeout("show()",1000);
//设置过1000毫秒就是1秒,调用show方法
}
</script>
</body>