根据地区不同显示时间的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 相关文章推荐
一段效率很高的for循环语句使用方法
Aug 13 Javascript
jquery foreach使用示例
Sep 12 Javascript
node.js中的fs.rename方法使用说明
Dec 16 Javascript
jsMind通过鼠标拖拽的方式调整节点位置
Apr 13 Javascript
浅谈javascript中的Function和Arguments
Aug 30 Javascript
详解利用jsx写vue组件的方法示例
Jul 17 Javascript
在React中如何优雅的处理事件响应详解
Jul 24 Javascript
一个基于react的图片裁剪组件示例
Apr 18 Javascript
ajax与jsonp的区别及用法
Oct 16 Javascript
使用原生js编写一个简单的框选功能方法
May 13 Javascript
elementUI select组件使用及注意事项详解
May 29 Javascript
微信小程序 wx.getUserInfo引导用户授权问题实例分析
Mar 09 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 discuz 主题表和回帖表的设计
2009/03/13 PHP
非常实用的php弹出错误警告函数扩展性强
2014/01/17 PHP
PHP使用xmllint命令处理xml与html的方法
2014/12/15 PHP
php中session定期自动清理的方法
2015/11/12 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
2019/04/17 PHP
php提供实现反射的方法和实例代码
2019/09/17 PHP
用jscript实现新建和保存一个word文档
2007/06/15 Javascript
js实现按Ctrl+Enter发送效果
2014/09/18 Javascript
jquery实现聚光灯效果的方法
2015/02/06 Javascript
JS弹出可拖拽可关闭的div层完整实例
2015/02/13 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
2015/05/12 Javascript
javascript的变量、传值、传址、参数之间关系
2015/07/26 Javascript
简单实现js无缝滚动效果
2017/02/05 Javascript
如何快速上手Vuex
2017/02/14 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
解决angularjs service中依赖注入$scope报错的问题
2018/10/02 Javascript
深入解读Node.js中的koa源码
2019/06/17 Javascript
解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目
2020/02/09 Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
2020/09/04 Javascript
解决vux 中popup 组件Mask 遮罩在最上层的问题
2020/11/03 Javascript
python制作一个桌面便签软件
2015/08/09 Python
Django Highcharts制作图表
2016/08/27 Python
python多线程之事件Event的使用详解
2018/04/27 Python
利用Python模拟登录pastebin.com的实现方法
2019/07/12 Python
Django框架 查询Extra功能实现解析
2019/09/04 Python
Python如何实现爬取B站视频
2020/05/20 Python
数控专业个人求职信范文
2014/02/05 职场文书
创建省级文明单位实施方案
2014/02/27 职场文书
工程项目建议书范文
2014/03/12 职场文书
培训班主持词
2014/03/28 职场文书
公司担保书范文
2014/05/21 职场文书
心理咨询专业自荐信
2014/07/07 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
镇党政领导班子民主生活会思想汇报
2014/10/11 职场文书
Redis 配置文件重要属性的具体使用
2021/05/20 Redis
详解运行Python的神器Jupyter Notebook
2021/06/03 Python