`
fuhao200866
  • 浏览: 75088 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JS实现动态显示当前时间(12/24小时制)

阅读更多
今天又要用到动态显示当前时间,且要求可以切换24/12小时制, 记得很久前写过一个24小时制的,但一时没能找着, 于是又重新写了个,若有需要的朋友自行复制粘贴一份吧.
很简单的一个功能函数,实现方式不多言,用Date()对象获取到当前时间,然后用setTimeout每隔1秒获取最新的时间.
写的过程中碰到过一个小小的问题: 我最初的想法是用setInterval()每隔1秒获取最新时间,可是可以,但setInterval如果放在主函数内部,但导致内存泄漏(至于原因,暂时还没想明白),后来在Rocky的提醒下用setTimeout()才解决内存泄漏问题,感谢Rocky同学:)
function nowTime(ev,type){
	/*
	 * ev:显示时间的元素
	 * type:时间显示模式.若传入12则为12小时制,不传入则为24小时制
	 */
	//年月日时分秒
	var Y,M,D,W,H,I,S;
	//月日时分秒为单位时前面补零
	function fillZero(v){
		if(v<10){v='0'+v;}
		return v;
	}
	(function(){
		var d=new Date();
		var Week=['星期天','星期一','星期二','星期三','星期四','星期五','星期六'];
		Y=d.getFullYear();
		M=fillZero(d.getMonth()+1);
		D=fillZero(d.getDate());
		W=Week[d.getDay()];
		H=fillZero(d.getHours());
		I=fillZero(d.getMinutes());
		S=fillZero(d.getSeconds());
		//12小时制显示模式
		if(type && type==12){
			//若要显示更多时间类型诸如中午凌晨可在下面添加判断
			if(H<=12){
				H='上午 '+H;
			}else if(H>12 && H<24){
				H-=12;
				H='下午 '+fillZero(H);
			}else if(H==24){
				H='下午 00';
			}
		}
		ev.innerHTML=Y+'年'+M+'月'+D+'日 '+' '+W+' '+H+':'+I+':'+S;
		//每秒更新时间
		setTimeout(arguments.callee,1000);
	})();
}
分享到:
评论

相关推荐

    javascript 在html上动态显示时间

    在HTML页面动态显示当前时间,效果如下: 现在是:2011年7月6日 20:02:50

    程序天下:JavaScript实例自学手册

    13.8 12小时制和24小时制的转换 13.9 标题栏显示时间 13.10 超过时间页面自动跳转 13.11 分时段问候用户 13.12 获取服务器时间 13.13 倒计时显示 13.14 背景时钟 13.15 计算某天星期几 13.16 计算时间差 13.17 计算...

    JS实现动态倒计时功能(天数、时、分、秒)

    实现倒计时功能首先是得到目标时间,然后用当前时间减去目标时间,最后将时间差传化为天数、时、分、秒。由于得到的时间不能直接运算,可以采用object.getTime()方法转化成相同类型进行运算。 相关说明: 如果想要...

    《程序天下:JavaScript实例自学手册》光盘源码

    13.8 12小时制和24小时制的转换 13.9 标题栏显示时间 13.10 超过时间页面自动跳转 13.11 分时段问候用户 13.12 获取服务器时间 13.13 倒计时显示 13.14 背景时钟 13.15 计算某天星期几 13.16 计算时间差 13.17 计算...

    JavaScript基础教程第8版

    11.5 把24小时制转换为12小时制 213 11.6 创建倒数计数器 216 11.7 隐藏和显示层 219 11.8 移动文档中的对象 221 11.9 日期方法 223 第12章 JavaScript应用示例 225 12.1 使用可折叠菜单 225 12.2 ...

    107个常用javascript语句

    24.指定当前显示链接的位置:window.location.href="URL" 25.取出窗体中的所有表单的数量:document.forms.length 26.关闭文档的输出流:document.close(); 27.字符串追加连接符: = 28.创建一个文档元素:document....

    千方百计笔试题大全

    coreJava部分 8 1、面向对象的特征有哪些方面? 8 2、作用域public,private,protected,以及不写时的区别? 8 3、String 是最基本的数据类型吗? 8 4、float 型float f=3.4是否正确...248、在weblogic管理制台中对一个应用...

    05_Work-Day-Scheduler

    我利用Javascript和jQuery动态生成任务列表和日期/时间。 Moment.js也在该项目中得到了利用。所采取的行动修改提供的index.html以创建数据的占位符编写了显示主页的功能利用Bootstrap在任务列表后面创

    java面试宝典

    20、以下二条语句返回值为true 的有: 10 21、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 10 22、我们在web 应用开发过程中经常...

    python入门到高级全栈工程师培训 第3期 附课件代码

    本资料仅用于学习,请查看后24小时之内删除。 【课程内容】 第1章 01 计算机发展史 02 计算机系统 03 小结 04 数据的概念 05 进制转换 06 原码补码反码 07 物理层和数据链路层 08 网络层和arp协议 09 传输层和应用...

    最好的asp CMS系统科讯CMSV7.0全功能SQL商业版,KesionCMS V7.0最新商业全能版-免费下载

    科汛cms实现了“网站模板与程序完全分离”的新概念,独创ajax输出和JS标签跨站调用,支持不同频道、栏目、专题、内容页应用不同的模板,支持批量绑定模板,模板换肤更是一键之谈。 模板制作也非常方便,用户可以...

    硬币开采阻滞剂「Coin Mining Blocker」-crx插件

    这个扩展有一个动态过滤列表,每24小时更新一次,以追加任何新的挖掘脚本。 您可以启用和禁用网络观察员禁止或允许执行挖掘脚本 JavaScript挖掘默认是禁用的。 扩展名显示工具栏徽章区域中当前页面被阻止的挖掘脚本...

    Coin Mining Blocker-crx插件

    此扩展名具有动态过滤列表,每24小时更新一次,以追加任何新的挖掘脚本。 您可以启用并禁用网络观察者以禁止或允许挖掘脚本正在执行。 默认情况下禁用JavaScript挖掘。 扩展显示在工具栏徽章区域中当前页面被阻止的...

    SnSitesV1.0.1共享版本

    即在24小时内你可以定义24小时的关闭与启动状态. 比如.你可以定义.8---11点是启动.其他时间是关闭.这样可以方便不在线的人管理网站. 3,任意栏目任意页面立体权限控制 此功能在SnSitesV1.0.0中尚欠缺,SnSitesV...

Global site tag (gtag.js) - Google Analytics