闲着没事在闪存里看到有人需要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;

js显示当前时间的更多相关文章

  1. js显示日期时间(集锦)

    1.最简单的时钟显示 <div id="time"></div> <script> setInterval(); </script>

  2. js 显示日期时间,时间过一秒加1

    html: <div id="data"><font>2017年10月17日 15:11:11</font></span> js: ...

  3. js获取当前时间显示在页面上

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  4. JS 显示时间与倒计时练习

    显示时间与倒计时 HTML <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  5. JS实现以日历形式显示当前时间

    效果图: <script language="Javascript"> var datelocalweek=new Array("星期日", &qu ...

  6. js使用my97插件显示当前时间,且select控制计算时间差

    做页面需要两个时间输入框一个显示当前时间,一个显示之前的时间,并且需要一个select下拉框控制两个时间输入框之间的差,效果如下图: 这里使用的是My97DatePicer,简单方便,引入my97插件 ...

  7. JS获取当前时间(YYYY-MM-DD ),element显示默认当前时间,显示默认昨天,显示默认上个月

    原文链接:点我 进来的随便看看,或许有帮助 vue+element-ui   datepicker 设置默认日期用的框架是vue+element-ui ,以下是时间控件 <el-form-ite ...

  8. JS显示动态的系统时间--JavaScript基础

    1.网页中实时显示当前时间 <!DOCTYPE html><html lang="en"><head> <meta charset=&qu ...

  9. 前端开发自学之JavaScript——显示当前时间

    <html> <head> <title>JavaScript</title> <script language="javascript ...

随机推荐

  1. iOS 图片填充 UIImageView (contentMode)

    掐指算下来做iOS开发也是有两年多的时间了,然后今天一个超级常用的控件让我颜面大跌,于是我准备把自己的丢人行径公之于众.如果您看到我这篇文章时和我一样,也是刚刚知道这项功能,那么您就当收获了一个... ...

  2. android广播接收器BroadcastReceiver

    首先看一下什么是 BroadcastReceiver BroadcastReceiver:直译是"广播接收者",所以它的作用是用来接收发送过来的广播的. 那我们有必要知道:什么是广 ...

  3. BZOJ 3809 莫队+(分块|BIT)

    #include <cstdio> #include <iostream> #include <cstring> #include <algorithm> ...

  4. JSP基础总结 脚本元素

    JSP脚本元素 1.  JSP声明语句 JSP声明语句以<%!开始,以%>结束,其语法格式为:<%! 声明语句 %> 使用声明语句的变量为全局变量,也就是说,当有多个用户在执行 ...

  5. sge学习 (转)

    转自http://biancheng.dnbcw.info/linux/417992.html 命令: qsub   -  submit a batch job to Grid Engine. qsh ...

  6. Windows下Redis的安装使用

      摘要 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted ...

  7. Kafka实战系列--Kafka API使用体验

    前言: kafka是linkedin开源的消息队列, 淘宝的metaq就是基于kafka而研发. 而消息队列作为一个分布式组件, 在服务解耦/异步化, 扮演非常重要的角色. 本系列主要研究kafka的 ...

  8. popToViewController和dismissviewcontroller的用法

    如果我们有ABC三个controller 1.使用present从A到B.再present到C.如果我们想从C直接回到A的话.直接使用 self  dismissViewControllerAnima ...

  9. 《统计推断(Statistical Inference)》读书笔记——第3章 统计分布族

    在科学研究中最重要的两种思维范式是“简化”和“还原”,所谓“简化”是指人依据不太复杂的,可理解的规律认识世界:所谓“还原”是指任何复杂的现象归根结底可以由若干简单的机制解释.各种统计分布族就是统计学中 ...

  10. CC3000 SPI接口编程介绍

    CC3000 SPI 操作: CC3000的SPI 是基于五根线CLCK,CSn,IRQ,MISO,MOSI:通信模式如下图: CLCK:时钟频率0-26M从主机到从机,提供SPI接口时钟 CSn:低 ...