zoukankan      html  css  js  c++  java
  • js显示当前时间

    闲着没事在闪存里看到有人需要js显示当前时间,就一时兴起写了个。

    输出格式:“2013年12月18日 星期三 上午9:05:00 ”。

    <script type="text/javascript">
     function tick() {
                var hours, minutes, seconds, xfile;
                var intHours, intMinutes, intSeconds;
                var today, theday;
                today = new Date();
                var d = [
    "星期日",
    "星期一",
    "星期二",
    "星期三",
    "星期四",
    "星期五",
    "星期六"];

    theday = today.getFullYear() + "年" + [today.getMonth() + 1] + "月" + today.getDate() + "日 " + d[today.getDay()];
                intHours = today.getHours();
                intMinutes = today.getMinutes();
                intSeconds = today.getSeconds();
                if (intHours == 0) {
                    hours = "12:";
                    xfile = " 午夜";
                } else if (intHours < 12) {
                    hours = intHours + ":";
                    xfile = " 上午";
                } else if (intHours == 12) {
                    hours = "12:";
                    xfile = " 正午";
                } else {
                    intHours = intHours - 12
                    hours = intHours + ":";
                    xfile = " 下午";
                }
    if (intMinutes < 10) { minutes = "0" + intMinutes + ":"; } else { minutes = intMinutes + ":"; } if (intSeconds < 10) { seconds = "0" + intSeconds + " "; } else { seconds = intSeconds + " "; } timeString = theday + xfile + hours + minutes + seconds; document.getElementById("lbClock").innerHTML = timeString; window.setTimeout("tick();", 100); } window.onload = tick; </script>

    PS:感谢undefined的指点,简化了很多。

    以上是客户端时间,那么要想显示服务器时间怎么办呢?对于精确度要求不高的情况有个方案:

    页面第一次打开时获取一次服务器时间,然后根据这个时间通过js计时器计算并显示时间。

    //计算时间
    function getTime() {
        serverTime.setSeconds(serverTime.getSeconds() + 1);
        myTime.innerHTML = getTimeStr(serverTime);
    }
    //输出时间格式  2014-01-01 00:01:01
    function getTimeStr(t) {
        var result = t.getFullYear() + "-" + bl(t.getMonth() + 1) + "-" + bl(t.getDate()) + " " + bl(t.getHours()) + ":" + bl(t.getMinutes()) + ":" + bl(t.getSeconds());
        return result;
    }
    //补零
    function bl(n) {
        return n.toString().length > 1 ? n : "0" + n;
    }
    //显示时间
    function showTime() {
        myTime = document.getElementById("lbClock");
        //new Date无法转换 2014-01-01 01:01:01, - 替换成 / 之后转换正常
        serverTime = new Date(myTime.innerHTML.replace(/-/g, "/"));
        setInterval(getTime, 1000);
    }
    var myTime = '', serverTime = '';
    window.onload = showTime;
  • 相关阅读:
    算法复习———dijkstra求次短路(poj3255)
    NOIP2017年11月9日赛前模拟
    NOIP2017赛前模拟11月6日—7日总结
    刷题总结——子串(NOIP2015)
    NOIP2017赛前考试注意事项总结
    NOIP2017赛前模拟11月4日总结:
    NOIP2017赛前模拟11月2日总结
    刷题总结——Aeroplane chess(hdu4405)
    刷题总结——Interval query(hdu4343倍增+贪心)
    刷题总结——Throw nails(hdu4393)
  • 原文地址:https://www.cnblogs.com/qtxy/p/3476372.html
Copyright © 2011-2022 走看看