本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。 在javascript中可以使用Date对象中的Date()方法来获取当前时间。Date() 方法可返回当天的日期和时间。 Date() 示例:输出今天的日期和时间 console.log(Date()) 输出: 或者使用Date对象中不同方法,格式化时间,以固定格式显示时间。 首先使用 new Date() 创建一个现在时间对象,然后使用 get 为前缀时间读取方法,分别获取现在时的年、月、日、时、分、秒等信息,最后通过定时器设置每秒执行一次,实现实时更新。 【操作步骤】 1) 设计时间显示函数,在这个函数中先创建 Date 对象,获取当前时间,然后分别获取年份、月份、日份、时、分、秒等信息,最后组装成一个时间字符串并返回。 var showtime = function () { var nowdate = new Date(); var year = nowdate.getFullYear(), month = nowdate.getMonth() + 1, date = nowdate.getDate(), day = nowdate.getDay(), week = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], h = nowdate.getHours(), m = nowdate.getMinutes(), s = nowdate.getSeconds(), h = checkTime(h), m = checkTime(m), s = checkTime(s); return year + "年" + month + "月" + date + "日" + week[day] + " " + h +":" + m + ":" + s; } 2) 因为平时看到的时间格式一般是 00:00:01,而 getHours()、getMinutes()、getSeconds() 方法得到格式是 0 到 9,而不是 00 到 09 这样的格式。所以在从 9 变成 10的过程中,从一位数变成两位数,同样再从 59秒变为 0 秒,或者 59 分变为 0 分,或者 23 时变为 0 时。例如:23:59:59 的下一秒应该为 00:00:00 ,实际为 0:0:0,这样格式上就不统一,在视觉上也是数字突然增加,或突然减少,产生一种晃动的感觉。 下面定义一个辅助函数,把一位数字的时间改为两位数字显示。 var checkTime = function (i) { if (i < 10) { i = "0" + i; } return i; } 3) 在页面中添加一个标签,设置 id 的值。 <h1 id="showtime"></h1> 4) 为标签绑定定时器,在定时器中设置每秒钟调用一次时间显示函数。 var div = document.getElementById("showtime"); setInterval (function() { div.innerHTML = showtime(); }, 1000); //反复执行函数 显示结果如下: |