根据地区不同显示时间的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 相关文章推荐
js实现运行代码需要刷新的解决方法
Aug 18 Javascript
iframe异步加载实现点击左边菜单加载右边内容实例讲解
Mar 04 Javascript
Jquery多选框互相内容交换的实例代码
Jul 04 Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
Dec 16 Javascript
ES6中module模块化开发实例浅析
Apr 06 Javascript
bootstrap daterangepicker双日历时间段选择控件详解
Jun 15 Javascript
JS基于for语句编写的九九乘法表示例
Jan 04 Javascript
vue-cli webpack 引入jquery的方法
Jan 10 jQuery
用最少的JS代码写出贪吃蛇游戏
Jan 12 Javascript
vue项目中使用ueditor的实例讲解
Mar 05 Javascript
微信小程序实现顶部下拉菜单栏
Nov 04 Javascript
js实现盒子移动动画效果
Aug 09 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
使用php+Ajax实现唯一校验实现代码[简单应用]
2011/11/29 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
PHP实现递归无限级分类
2015/10/22 PHP
php基于PDO连接MSSQL示例DEMO
2016/07/13 PHP
php实现数组重复数字统计实例
2018/09/30 PHP
PHP vsprintf()函数格式化字符串操作原理解析
2020/07/14 PHP
pjblog修改技巧汇总
2007/03/12 Javascript
javascript 学习之旅 (1)
2009/02/05 Javascript
JQuery autocomplete 使用手册
2010/04/01 Javascript
灵活应用js调试技巧解决样式问题的步骤分享
2012/03/15 Javascript
一个JavaScript去除字符串末尾的空白实例代码
2014/09/22 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
浅谈JavaScript实现面向对象中的类
2014/12/09 Javascript
Jquery插件仿百度搜索关键字自动匹配功能
2016/05/11 Javascript
jQuery插件扩展测试实例
2016/06/21 Javascript
分享vue.js devtools遇到一系列问题
2017/10/24 Javascript
Vue+Vux项目实践完整代码
2017/11/30 Javascript
vue 循环加载数据并获取第一条记录的方法
2018/09/26 Javascript
[03:40]DOTA2英雄梦之声_第01期_炼金术士
2014/06/23 DOTA
[51:17]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
Python中使用select模块实现非阻塞的IO
2015/02/03 Python
详解Python list 与 NumPy.ndarry 切片之间的对比
2017/07/24 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
python实现飞机大战小游戏
2019/11/08 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
2020/01/18 Python
Python实现冒泡排序算法的完整实例
2020/11/04 Python
详解Css3新特性应用之过渡与动画
2017/01/10 HTML / CSS
纯CSS3实现运行时钟的示例代码
2021/01/25 HTML / CSS
物业管理毕业生个人的求职信
2013/11/30 职场文书
影视制作岗位职责
2013/12/04 职场文书
安全生产网格化管理实施方案
2014/03/01 职场文书
我的梦中国梦演讲稿
2014/04/23 职场文书
城管大队整治方案
2014/05/06 职场文书
四年级数学上册教学计划
2015/01/20 职场文书
工程技术员岗位职责
2015/04/11 职场文书
Python利用zhdate模块实现农历日期处理
2022/03/31 Python