根据地区不同显示时间的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 相关文章推荐
JavaScript更改class和id的方法
Oct 10 Javascript
jQuery 无刷新分页实例代码
Nov 12 Javascript
jQuery选择器全面总结
Jan 06 Javascript
Jquery解析json字符串及json数组的方法
May 29 Javascript
JQuery.validationEngine表单验证插件(推荐)
Dec 10 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
Jan 04 Javascript
AngularJS中的按需加载ocLazyLoad示例
Jan 11 Javascript
vue中各种通信传值方式总结
Feb 14 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
May 30 Javascript
构建Vue大型应用的10个最佳实践(小结)
Nov 07 Javascript
基于javascript实现贪吃蛇经典小游戏
Apr 10 Javascript
vue组件内部引入外部js文件的方法
Jan 18 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
在windows iis5下安装php4.0+mysql之我见
2006/10/09 PHP
PHP 程序员也要学会使用“异常”
2009/06/16 PHP
PHP开发负载均衡指南
2010/07/17 PHP
解析zend studio中直接导入svn中的项目的方法步骤
2013/06/21 PHP
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
javascript Zifa FormValid 0.1表单验证 代码打包下载
2007/06/08 Javascript
YUI的Tab切换实现代码
2010/04/11 Javascript
IE6/7/8中Option元素未设value时Select将获取空字符串
2011/04/07 Javascript
javascript 3d 逐侦产品展示(核心精简)
2014/03/26 Javascript
JavaScript中函数(Function)的apply与call理解
2015/07/08 Javascript
JS简单生成两个数字之间随机数的方法
2016/08/03 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
详解AngularJS之$window窗口对象
2018/01/17 Javascript
微信小程序获取音频时长与实时获取播放进度问题
2018/08/28 Javascript
微信小程序实现上传图片裁剪图片过程解析
2019/08/22 Javascript
js使用文档就绪函数动态改变页面内容示例【innerHTML、innerText】
2019/11/07 Javascript
Python中字典的基本知识初步介绍
2015/05/21 Python
Python聚类算法之基本K均值实例详解
2015/11/20 Python
Python中遍历字典过程中更改元素导致异常的解决方法
2016/05/12 Python
Python sqlite3事务处理方法实例分析
2017/06/19 Python
用virtualenv建立多个Python独立虚拟开发环境
2017/07/06 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
2018/04/08 Python
Python 寻找局部最高点的实现
2019/12/05 Python
IronPython连接MySQL的方法步骤
2019/12/27 Python
Python PyPDF2模块安装使用解析
2020/01/19 Python
使用Python和百度语音识别生成视频字幕的实现
2020/04/09 Python
python 爬取英雄联盟皮肤并下载的示例
2020/12/04 Python
在线课程:Skillshare
2019/04/02 全球购物
保护环境倡议书100字
2014/05/19 职场文书
酒店管理专业自荐信
2014/05/23 职场文书
优秀毕业生求职信
2014/06/05 职场文书
个人授权委托书范本格式
2014/10/12 职场文书
市场总监岗位职责
2015/02/11 职场文书
python中如何对多变量连续赋值
2021/06/03 Python
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android