javascript定时获取当前时间

想在JS获取实时的时间其实很简单,就几句代码的事,new Date()已经能把当前的时间获取到了(只是不会动罢了);tm是我想传到输入框的id;time.value = d返回d(new Date())的value属性的值;setTimeout第一个参数是对函数的调用,第二个参数指示从当前起多少毫秒后执行第一个参数(1000毫秒等于1秒)。

function showTime() {
            var d = new Date();
            var time = document.getElementById("tm");
            time.value = d;
            setTimeout("showTime()", 1000);
        }

记得在页面加载事件里调用哦,不然用不了的。
在这里插入图片描述

这是输出的效果图,能看得懂但不是很美观(我只想要年月日时分秒)。
在这里插入图片描述

这才是我想要的效果,虽然代码会多那么一点点。。。
在这里插入图片描述
js代码:

	//获取当前时间
     function showTime() {
            var d = new Date();
            var time = document.getElementById("tm");
            var year = d.getFullYear();
            var month = d.getMonth() + 1;
            var day = d.getDate();
            var hour = d.getHours();
            var minute = d.getMinutes();
            var minute1 = "0" + minute;
            var minute2 = minute1.substring(minute1.length - 2);
            var second = d.getSeconds();
            var secondTmp = "0" + second;
            var secondNew = secondTmp.substring(secondTmp.length - 2);
            var s = year + "-" + month + "-" + day + "   " + hour + ":" + minute2 + ":" + secondNew;
            time.value = s;
            setTimeout("showTime()", 1000);
        }

至于你问我为什么获取月份时加了个1,明明是五月了,我获取到的是四。。呃,或许获取的是索引值吧(索引从零开始)。

在分和秒拼前面接了个0是因为当分和秒只有一位数时,显示也是一位数(我想它获取一位数时显示两位数),可能你想问了,这样获取两位数时,显示的不就是三位数了吗,所以我用到了substring(length - 2) 获取到最后的两位数,substring()函数返回字符串的指定部分,不接受负的参数。

年月日时分秒每一个的样式都写好了,剩下把他们拼接起来再输出就可以了。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值