当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 根据地区不同显示时间的javascript代码

Javascript
JS教程:浅谈ECMAScript自动插入分号
JavaScript教程:几种比较熟悉的编程习惯
JS实例:登陆失败后跳出框架打开
webdesignledger推选的2009年度最佳jQuery插件
javaScript教程:以实例方式学习call函数
JS教程:词法作用域和闭包
表单验证中时间起止 如何做到递归处理
JS实例教程:当心JavaScript代码陷阱
Firebug技巧:脚本调试,选项卡和CSS调试
学习javascript:牛人的讲座视频和PPT
Clearbox 3:很酷的仿Lightbox脚本
JavaScript教程:详细解析网页图片预览效果
JS代码实例:实现随机加载不同的CSS样式
国人开发的比较优秀的js框架:como js
Webjx收集10个最常用Ajax技术的实例教程
JavaScript教程:优化次数过多的循环
出色的jQuery导航菜单的14个英文教程
JS教程:学习笔记之JS类
JS教程:详细讲解JS节点知识
COM中获取JavaScript数组大小的代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 191 ::
收藏到网摘: n/a

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>