根据地区不同显示时间的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 大家可以参考下
Oct 13 Javascript
JavaScript数字和字符串转换示例
Mar 26 Javascript
jQuery 特性操作详解及实例代码
Sep 29 Javascript
js+html制作简单日历的方法
Jun 27 Javascript
JavaScript中document.referrer的用法详解
Jul 04 Javascript
通过示例彻底搞懂js闭包
Aug 10 Javascript
移动设备手势事件库Touch.js使用详解
Aug 18 Javascript
nuxt+axios解决前后端分离SSR的示例代码
Oct 24 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
Nov 10 Javascript
JavaScript实现横版菜单栏
Mar 17 Javascript
JavaScript变量Dom对象的所有属性
Apr 30 Javascript
从0搭建vue-cli4脚手架
Jun 17 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 微信公众平台开发模式实现多客服的实例代码
2016/11/07 PHP
利用PHP获取网站访客的所在地位置
2017/01/18 PHP
PHP基于递归算法解决兔子生兔子问题
2018/05/11 PHP
php无限级分类实现评论及回复功能
2019/02/18 PHP
javascript的函数
2007/01/31 Javascript
在网页里看flash的trace数据的js类
2009/01/10 Javascript
javascript cookies操作集合
2010/04/12 Javascript
实用的Jquery选项卡TAB示例代码
2013/08/28 Javascript
js键盘上下左右键怎么触发function(实例讲解)
2013/12/14 Javascript
JavaScript分析、压缩工具JavaScript Analyser
2014/12/31 Javascript
JavaScript学习笔记之JS事件对象
2015/01/22 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
2015/03/04 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
2015/06/05 Javascript
Bootstrap select下拉联动(jQuery cxselect)
2017/01/04 Javascript
AngularJS+bootstrap实现动态选择商品功能示例
2017/05/17 Javascript
详解require.js配置路径的用法和css的引入
2017/09/06 Javascript
浅谈Vue初学之props的驼峰命名
2018/07/19 Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
2019/05/12 Javascript
Vue 中 filter 与 computed 的区别与用法解析
2019/11/21 Javascript
JavaScript中reduce()的5个基本用法示例
2020/07/19 Javascript
Python3实现生成随机密码的方法
2014/08/23 Python
Python编程pygame模块实现移动的小车示例代码
2018/01/03 Python
为什么选择python编程语言入门黑客攻防 给你几个理由!
2018/02/02 Python
python DataFrame 取差集实例
2019/01/30 Python
java判断三位数的实例讲解
2019/06/10 Python
python如何解析配置文件并应用到项目中
2019/06/27 Python
Django时区详解
2019/07/24 Python
django 将自带的数据库sqlite3改成mysql实例
2020/07/09 Python
python3 循环读取excel文件并写入json操作
2020/07/14 Python
解决导入django_filters不成功问题No module named 'django_filter'
2020/07/15 Python
Kappa英国官方在线商店:服装和运动器材
2020/11/22 全球购物
幼儿园春游活动方案
2014/01/19 职场文书
领导干部学习“三严三实”思想汇报
2014/09/15 职场文书
2014年少先队工作总结
2014/12/03 职场文书
毕业实习单位意见
2015/06/04 职场文书
自书遗嘱范文
2015/08/07 职场文书