根据地区不同显示时间的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 相关文章推荐
ajax更新数据后,jquery、jq失效问题
Mar 16 Javascript
JS判断元素为数字的奇异写法分享
Aug 01 Javascript
如何将一个String和多个String值进行比较思路分析
Apr 22 Javascript
jqgrid 表格数据导出实例
Nov 21 Javascript
jquery实现ajax提交form表单的方法总结
Mar 03 Javascript
JavaScript中双叹号(!!)作用示例介绍
Apr 10 Javascript
基于bootstrap风格的弹框插件
Dec 28 Javascript
快速将Vue项目升级到webpack3的方法步骤
Sep 14 Javascript
js replace替换字符串同时替换多个方法
Nov 27 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
Jan 27 Javascript
JS实现简单打字测试
Jun 24 Javascript
jQuery实现计算器功能
Oct 19 jQuery
解决使用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
收音机另类DIY - 纸巾盒做外壳
2021/03/02 无线电
MySQL的FIND_IN_SET函数使用方法分享
2012/03/27 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
2012/10/04 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
2014/04/21 PHP
php实现上传图片文件代码
2015/07/19 PHP
基于laravel缓冲cache的用法详解
2019/10/23 PHP
兼容多浏览器的字幕特效Marquee的通用js类
2008/07/20 Javascript
js cookies实现简单统计访问次数
2009/11/24 Javascript
Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
2010/03/15 Javascript
JQuery实现鼠标滑过显示导航下拉列表
2013/09/12 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
JS获取客户端IP地址、MAC和主机名的7个方法汇总
2014/07/21 Javascript
解决JS请求服务器gbk文件乱码的问题
2015/10/16 Javascript
thinkphp实现无限分类(使用递归)
2015/12/19 Javascript
值得分享的bootstrap table实例
2016/09/22 Javascript
详解express + mock让前后台并行开发
2018/06/06 Javascript
JavaScript this指向相关原理及实例解析
2020/07/10 Javascript
解决vue单页面 回退页面 keeplive 缓存问题
2020/07/22 Javascript
Vue在H5 项目中使用融云进行实时个人单聊通讯
2020/12/14 Vue.js
使用Nginx+uWsgi实现Python的Django框架站点动静分离
2016/03/21 Python
基于DataFrame筛选数据与loc的用法详解
2018/05/18 Python
Python partial函数原理及用法解析
2019/12/11 Python
Python新手学习raise用法
2020/06/03 Python
Python在后台自动解压各种压缩文件的实现方法
2020/11/10 Python
python如何调用php文件中的函数详解
2020/12/29 Python
The North Face北面英国官网:美国著名户外品牌
2017/12/13 全球购物
Falconeri美国官网:由羊绒和羊毛制成的针织服装
2018/04/08 全球购物
美国廉价机票预订网站:Cheapfaremart
2018/04/28 全球购物
劳力士官方珠宝商:J.R. Dunn Jewelers
2018/09/29 全球购物
Converse匡威法国官网:美国著名帆布鞋品牌
2018/12/05 全球购物
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
服务员自我评价
2014/01/25 职场文书
医学类个人求职信范文
2014/02/05 职场文书
遥感技术与仪器求职信
2014/02/22 职场文书
武当山导游词
2015/02/03 职场文书
国家助学贷款承诺书
2015/04/30 职场文书