代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
自运行时钟
作者:
MusketeerL
/ 发布于
2014/6/17
/
535
最近项目网页需要实时显示服务器时间,如果每秒通过ajax加载服务器时间的话,就会产生大量的请求。 于是设计了“javscript自运行时钟” 和 "ajax加载服务器时间" 相结合的形式来显示服务器时间。“javscript自运行时钟” 以某初始时间为起点自动运行,"ajax加载服务器时间" 每60s将服务器的时间给“javscript自运行时钟” 更新。
/*! * File: sc_clock.js * Version: 1.0.0 * Author: LuLihong * Date: 2014-06-06 * Desc: 自动运行的时钟 * * 版权:开源,随便使用,请保持头部。 */ /** * 格式化输出 * @returns */ String.prototype.format = function() { var args = arguments; return this.replace(/\{(\d+)\}/g, function(m, i){return args[i];}); }; /** * 转化为数字 * @returns */ String.prototype.toInt = function(defaultV) { if (this === "" || !(/^\d+$/.test(this))) return defaultV; return parseInt(this); }; window.scClock = { year : 2014, month : 1, day : 1, hour : 0, minute : 0, second : 0, isRunning : false, /** * 显示时间的函数,调用者在调用startup函数时传入。 */ showFunc : function(){}, /** * 初始化 */ init : function(y, mon, d, h, min, s){ this.year = y; this.month = mon; this.day = d; this.hour = h; this.minute = min; this.second = s; }, /** * 初始化时间:时间格式:2014-06-09 11:30:30 */ initTime : function(time) { var arr = time.split(/[\-\ \:]/); if (arr.length != 6) return; this.year = arr[0].toInt(2014); this.month = arr[1].toInt(1); this.day = arr[2].toInt(1); this.hour = arr[3].toInt(0); this.minute = arr[4].toInt(0); this.second = arr[5].toInt(0); }, /** * 更新时间:时间格式:2014-06-09 11:30:30 */ updateTime : function(time) { var arr = time.split(/[\-\ \:]/); if (arr.length != 6) return; this.year = arr[0].toInt(2014); this.month = arr[1].toInt(1); this.day = arr[2].toInt(1); this.hour = arr[3].toInt(0); this.minute = arr[4].toInt(0); this.second = arr[5].toInt(0); }, /** * 开始 */ startup : function(func) { if (this.isRunning) return; this.isRunning = true; this.showFunc = func; window.setTimeout("scClock.addOneSec()", 1000); }, /** * 结束 */ shutdown : function() { if (!this.isRunning) return; this.isRunning = false; }, /** * 获取时间 */ getDateTime : function() { var fmtString = "{0}-{1}-{2} {3}:{4}:{5}"; var sMonth = (this.month < 10) ? ("0" + this.month) : this.month; var sDay = (this.day < 10) ? ("0" + this.day) : this.day; var sHour = (this.hour < 10) ? ("0" + this.hour) : this.hour; var sMinute = (this.minute < 10) ? ("0" + this.minute) : this.minute; var sSecond = (this.second < 10) ? ("0" + this.second) : this.second; return fmtString.format(this.year, sMonth, sDay, sHour, sMinute, sSecond); }, /** * 增加一秒 */ addOneSec : function() { this.second++; if (this.second >= 60) { this.second = 0; this.minute++; } if (this.minute >= 60) { this.minute = 0; this.hour++; } if (this.hour >= 24) { this.hour = 0; this.day++; } switch(this.month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: { if (this.day > 31) { this.day = 1; this.month++; } break; } case 4: case 6: case 9: case 11: { if (this.day > 30) { this.day = 1; this.month++; } break; } case 2: { if (this.isLeapYear()) { if (this.day > 29) { this.day = 1; this.month++; } } else if (this.day > 28) { this.day = 1; this.month++; } break; } } if (this.month > 12) { this.month = 1; this.year++; } this.showFunc(this.getDateTime()); if (this.isRunning) window.setTimeout("scClock.addOneSec()", 1000); }, /** * 检测是否为闰年: 判断闰年的规则是,能被4整除,但能被100整除的不是闰年,能被400整除为闰年. */ isLeapYear : function() { if (this.year % 4 == 0) { if (this.year % 100 != 0) return true; if (this.year % 400 == 400) return true; } return false; } };
试试其它关键字
自运行
时钟
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
MusketeerL
贡献的其它代码
(
5
)
.
进程工具类
.
一字棋
.
自运行时钟
.
Java util.Date 转成 sql.Date
.
使用NIO进行快速的文件拷贝
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3