根据地区不同显示时间的javascript代码


Posted in Javascript onAugust 13, 2007

by tingting 

<script language="JavaScript">
<!-- Begin
var timerRunning = false;
var timezone = "格林尼治标准时间";
var adjust = 0;

function timeCheck(tzone, diff) {
if (timerRunning) {
clearTimeout(updatetime);
timerRunning = false; }
gmtOffset=eval(diff+adjust);
timezone = tzone;
checkDateTime();
}

function checkDateTime () {
var today = new Date();
var year = today.getYear() + 00;
var month = today.getMonth()+1;
var date = today.getDate();
var day = today.getDay();
var hour = today.getHours();
var minute = today.getMinutes();
var second = today.getSeconds();

var lastSat = date - (day+1);
while (lastSat < 32) lastSat+=7;
if (lastSat > 31) lastSat+=-7;
var firstSat = date - (day+1);
while (firstSat > 0) firstSat+=-7;
if (firstSat < 1) firstSat+=7;
if ((((month == 4) && (date >= firstSat)) || month > 4) && 
(month < 11 || ((month == 10) && day <= lastSat))) adjust += 60;
yourOffset = (new Date()).getTimezoneOffset();
yourOffset = yourOffset + adjust;

var xx = navigator.appName
var xy = navigator.appVersion;
xy = xy.substring(0,1);
if ((xy == 4) && (xx == "Netscape")) yourOffset = yourOffset+adjust;
if ((((month == 4) && (date > 20)) || month > 4) && (month < 11 || ((month == 10) &&
day < 30))) adjust -= 60;

ourDifference = eval(gmtOffset - yourOffset);
var half = eval(ourDifference % 60);
ourDifference = Math.round(ourDifference / 60);
hour = eval(hour - ourDifference);
var m = new Array("",
"1","2","3",
"4","5","6",
"7","8","9",
"10","11","12");
var leap = eval(year % 4);

if ((half == -30) || (half == 30)) minute += 30;
if (minute > 59) minute -= 60, hour++;
if (minute < 0) minute += 60, hour--;
if (hour > 23) hour -= 24, date += 1;
if (((month == 4) || (month == 6) || 
(month == 9) || (month == 11)) && (date==31)) date = 1, month ++;
if (((month == 2) && (date > 28)) && (leap != 0)) date = 1, month ++;
if ((month == 2) && (date > 29)) date = 1, month++;
if (hour < 0) hour += 24, date --;
if ((date == 32) && (month == 12)) month = m[1], date = 1, year++;
if (date == 32) date = 1, month++;
if ((date < 1) && (month == 1)) month= m[12], date = 31, year--;
if (date < 1) date = 31, month --;
if (((month == 4) || (month == 6) || 
(month== 9) || (month == 11)) && (date == 31)) date = 30;
if ((month == 2) && (date > 28)) date = 29;
if (((month == 2) && (date > 28)) && (leap != 0)) date=28;
for (i=1; i<13; i++) {
if (month == i) {
month = m; break;
  }
}

var dateTime = hour;
dateTime = ((dateTime < 10) ? "0":"") + dateTime;
dateTime = " " + dateTime;
dateTime += ((minute < 10) ? ":0" : ":") + minute;
dateTime += ((second < 10) ? ":0" : ":") + second;
dateTime += (hour >= 12) ? "下午, " : "上午, ";
dateTime += year + "年" + month + "月" + date + "日" ;

document.clock.zonetime.value = dateTime;
document.clock.zonename.value = timezone;
updatetime=setTimeout("checkDateTime()", 900);
timerRunning = true;
}
// End -->
</script>
<body OnLoad="timeCheck(timezone, 0)">
<FORM name=clock>
当前的时间<INPUT size=28 name=zonetime> 
     <BR><BR>当前的地区<INPUT size=21 name=zonename> <BR><BR>
<div style="background-color:#FF0000; width:100px; height:100px;" onmouseover="timeCheck('太平洋', +480)"></div>
<div style="background-color:#FF00FF; width:100px; height:100px;" onmouseover="timeCheck('夏威夷', +600)"></div>
</FORM>
</body>

Javascript 相关文章推荐
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
Oct 12 Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
Jan 22 Javascript
解析Jquery取得iframe中元素的几种方法
Jul 04 Javascript
jQuery手动点击实现图片轮播特效
Apr 20 Javascript
使用jquery实现的循环连续可停顿滚动实例
Nov 23 Javascript
javascript中递归的两种写法
Jan 17 Javascript
JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
Jun 06 Javascript
JS实现图片居中悬浮效果
Dec 25 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
Sep 05 jQuery
JavaScript HTML DOM元素 节点操作汇总
Jul 29 Javascript
js实现点击生成随机div
Jan 16 Javascript
js实现右键弹出自定义菜单
Sep 08 Javascript
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
Aug 13 #Javascript
Track Image Loading效果代码分析
Aug 13 #Javascript
不错的JS中变量相关的细节分析
Aug 13 #Javascript
javascript-TreeView父子联动效果保持节点状态一致
Aug 12 #Javascript
TopList标签和JavaScript结合两例
Aug 12 #Javascript
Javascript-Mozilla和IE中的一个函数直接量的问题分析
Aug 12 #Javascript
IE和Mozilla的兼容性汇总event
Aug 12 #Javascript
You might like
2019年中国咖啡业现状与发展趋势
2021/03/04 咖啡文化
php桌面中心(一) 创建数据库
2007/03/11 PHP
PHP array_multisort()函数的使用札记
2011/07/03 PHP
PHP遍历并打印指定目录下所有文件实例
2014/02/10 PHP
CodeIgniter常用知识点小结
2016/05/26 PHP
PHP isset()与empty()的使用区别详解
2017/02/10 PHP
PHP扩展Swoole实现实时异步任务队列示例
2019/04/13 PHP
通用JS事件写法实现代码
2009/01/07 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
禁用页面部分JavaScript不是全部而是部分
2014/09/03 Javascript
vue router学习之动态路由和嵌套路由详解
2017/09/21 Javascript
Vue组件开发技巧总结
2018/03/04 Javascript
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
AngularJS 应用模块化的使用
2018/04/04 Javascript
WEEX环境搭建与入门详解
2019/10/16 Javascript
[04:49]2014DOTA2国际邀请赛 Newbee顺利挺进总决赛 ImbaTV独家专访
2014/07/19 DOTA
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
python 解析XML python模块xml.dom解析xml实例代码
2014/02/07 Python
python数据结构之二叉树的建立实例
2014/04/29 Python
让 python 命令行也可以自动补全
2014/11/30 Python
尝试使用Python多线程抓取代理服务器IP地址的示例
2015/11/09 Python
Python脚本处理空格的方法
2016/08/08 Python
Python迭代器定义与简单用法分析
2018/04/30 Python
python自动化工具之pywinauto实例详解
2019/08/26 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
2020/06/01 Python
pytorch中index_select()的用法详解
2021/01/06 Python
python os.listdir()乱码解决方案
2021/01/31 Python
亚瑟士美国官网:ASICS美国
2017/02/01 全球购物
Spartoo美国:欧洲排名第一的在线时装零售商
2019/12/12 全球购物
信息工程学院毕业生推荐信
2013/11/05 职场文书
人事部专员岗位职责
2014/03/04 职场文书
高中军训感想300字
2014/03/04 职场文书
担保书格式及范文
2014/04/01 职场文书
保护环境倡议书100字
2014/05/19 职场文书
大学生找工作求职信
2014/07/09 职场文书
python3 实现mysql数据库连接池的示例代码
2021/04/17 Python