根据地区不同显示时间的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 相关文章推荐
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
Dec 08 Javascript
JQuery动态给table添加、删除行 改进版
Jan 19 Javascript
js清除input中type等于file的值域(示例代码)
Dec 24 Javascript
js 判断浏览器使用的语言示例代码
Mar 22 Javascript
推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
Dec 13 Javascript
基于jquery实现图片上传本地预览功能
Jan 08 Javascript
实现JavaScript的组成----BOM和DOM详解
May 18 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
Nov 29 Javascript
Bootstrap基本样式学习笔记之表格(2)
Dec 07 Javascript
基于require.js的使用(实例讲解)
Sep 07 Javascript
基于three.js实现的3D粒子动效实例代码
Apr 09 Javascript
django简单的前后端分离的数据传输实例 axios
May 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
php 不使用js实现页面跳转
2014/02/11 PHP
php分割合并两个字符串的函数实例
2015/06/19 PHP
PHP设计模式入门之迭代器模式原理与实现方法分析
2020/04/26 PHP
javascript学习笔记(十二) RegExp类型介绍
2012/06/20 Javascript
删除javascript中注释语句的正则表达式
2014/06/11 Javascript
js的image onload事件使用遇到的问题
2014/07/15 Javascript
常用的JS验证和函数汇总
2014/12/23 Javascript
详解Bootstrap插件
2016/04/25 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
js实现纯前端的图片预览
2016/04/27 Javascript
canvas基础绘制-绚丽倒计时的实例
2017/09/17 Javascript
4 种滚动吸顶实现方式的比较
2019/04/09 Javascript
js 闭包深入理解与实例分析
2020/03/19 Javascript
vue中的循环对象属性和属性值用法
2020/09/04 Javascript
Python编程实现控制cmd命令行显示颜色的方法示例
2017/08/14 Python
python的构建工具setup.py的方法使用示例
2017/10/23 Python
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
Python-copy()与deepcopy()区别详解
2019/07/12 Python
python求平均数、方差、中位数的例子
2019/08/22 Python
python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例
2020/02/28 Python
基于Python的图像阈值化分割(迭代法)
2020/11/20 Python
python之pygame模块实现飞机大战完整代码
2020/11/29 Python
利用Canvas模仿百度贴吧客户端loading小球的方法示例
2017/08/13 HTML / CSS
CK加拿大官网:Calvin Klein加拿大
2020/03/14 全球购物
利用指针变量实现队列的入队操作
2012/04/07 面试题
为什么需要版本控制?
2013/08/08 面试题
介绍一下Java中的static关键字
2012/05/12 面试题
菜篮子工程实施方案
2014/03/08 职场文书
卖房协议书
2014/04/11 职场文书
会计系毕业生求职信
2014/05/28 职场文书
委托书怎么写
2014/07/31 职场文书
竞选大队干部演讲稿
2014/09/11 职场文书
党员承诺书格式范文
2015/04/28 职场文书
债务纠纷起诉书
2015/05/20 职场文书
Keras在mnist上的CNN实践,并且自定义loss函数曲线图操作
2021/05/25 Python
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python