根据地区不同显示时间的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中清空数组的三种方法分享
Apr 07 Javascript
JavaScript实现网页图片等比例缩放实现代码及调用方式
Feb 25 Javascript
将Datatable转化成json发送前台实现思路
Sep 06 Javascript
js脚本实现数据去重
Nov 27 Javascript
JS动态创建元素的两种方法
Apr 20 Javascript
javascript 常用验证函数总结
Jun 28 Javascript
微信小程序 Record API详解及实例代码
Sep 30 Javascript
详谈AngularJs 控制器、数据绑定、作用域
Jul 09 Javascript
详解Angular CLI + Electron 开发环境搭建
Jul 20 Javascript
基于casperjs和resemble.js实现一个像素对比服务详解
Jan 10 Javascript
vue做移动端适配最佳解决方案(亲测有效)
Sep 04 Javascript
javascript实现获取中文汉字拼音首字母
May 19 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+SqlServer实现分页显示
2006/10/09 PHP
php gzip压缩输出的实现方法
2013/04/27 PHP
PHP合并discuz用户脚本的方法
2015/08/04 PHP
PHP实现伪静态方法汇总
2016/01/13 PHP
简介PHP的Yii框架中缓存的一些高级用法
2016/03/29 PHP
PHP仿微信多图片预览上传实例代码
2016/09/13 PHP
通过js脚本复制网页上的一个表格的不错实现方法
2006/12/29 Javascript
JS 对象介绍
2010/01/20 Javascript
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
2014/02/13 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
JavaScript常用的弹出广告及背投广告实现方法
2015/02/06 Javascript
在AngularJS应用中实现一些动画效果的代码
2015/06/18 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
js随机生成一个验证码
2017/06/01 Javascript
Angular中的interceptors拦截器
2017/06/25 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
2017/07/05 Javascript
基于jQuery实现手风琴菜单、层级菜单、置顶菜单、无缝滚动效果
2017/07/20 jQuery
egg.js的基本使用和调用数据库的方法示例
2019/05/18 Javascript
[27:02]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第三场
2014/05/24 DOTA
Python实现将绝对URL替换成相对URL的方法
2015/06/28 Python
在Python的Django框架的视图中使用Session的方法
2015/07/23 Python
pandas 把数据写入txt文件每行固定写入一定数量的值方法
2018/12/28 Python
详解Python3中ceil()函数用法
2019/02/19 Python
python脚本开机自启的实现方法
2019/06/28 Python
Django windows使用Apache实现部署流程解析
2020/10/12 Python
Css3+Js制作漂亮时钟(附源码)
2013/04/24 HTML / CSS
Html5嵌入钉钉的实现示例
2020/06/04 HTML / CSS
来自Ocado的宠物商店:Fetch
2018/07/10 全球购物
德国价格合理的品牌商品购物网站:averdo
2019/03/21 全球购物
怎样声明子类
2013/07/02 面试题
TCP/IP中的TCP和IP分别承担什么责任
2012/04/21 面试题
自荐信模版
2013/10/24 职场文书
会计专业毕业生自荐书
2014/06/25 职场文书
甜品蛋糕店创业计划书
2014/09/21 职场文书
2015年世界无烟日演讲稿
2015/03/18 职场文书