根据地区不同显示时间的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 相关文章推荐
一个对于Array的简单扩展
Oct 03 Javascript
JavaScript对象创建及继承原理实例解剖
Feb 28 Javascript
jQuery让控件左右移动的三种实现方法
Sep 08 Javascript
网页下载文件期间如何防止用户对网页进行其他操作
Jun 27 Javascript
Node.js 服务器端应用开发框架 -- Hapi.js
Jul 29 Javascript
基于jquery实现省市联动效果
Nov 23 Javascript
jQuery中delegate()方法的用法详解
Oct 13 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
Nov 30 Javascript
jquery表单验证插件validation使用方法详解
Jan 20 Javascript
jQuery的$.extend 浅拷贝与深拷贝
Mar 08 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
Dec 04 Javascript
Vue使用轮询定时发送请求代码
Aug 10 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
星际中一些鲜为人知的详细资料
2020/03/04 星际争霸
一款简单实用的php操作mysql数据库类
2014/12/08 PHP
php基于socket实现SMTP发送邮件的方法
2015/03/05 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
PHP之header函数详解
2021/03/02 PHP
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
js下利用控制器载入对应脚本
2010/07/17 Javascript
鼠标移到图片上变大显示而不是放大镜效果
2014/06/15 Javascript
使用jQuery管理选择结果
2015/01/20 Javascript
jquery实现表格隔行换色效果
2015/11/19 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
2016/05/15 Javascript
js实现导航跟随效果
2018/11/17 Javascript
详解vue使用插槽分发内容slot的用法
2019/03/28 Javascript
vue实现购物车加减
2020/05/30 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
Python实现3行代码解简单的一元一次方程
2014/08/18 Python
Django框架中方法的访问和查找
2015/07/15 Python
python实现Adapter模式实例代码
2018/02/09 Python
Python logging模块写入中文出现乱码
2020/05/21 Python
python获得命令行输入的参数的两种方式
2020/11/02 Python
HTML5实现WebSocket协议原理浅析
2014/07/07 HTML / CSS
对象的序列化(serialization)类是面向流的,应如何将对象写入到随机存取文件中
2015/06/22 面试题
高中生校园生活自我评价
2013/09/19 职场文书
口腔医学技术应届生求职信
2013/11/09 职场文书
总经理职责
2013/12/22 职场文书
社区庆八一活动方案
2014/02/02 职场文书
领导干部考察材料
2014/02/08 职场文书
连锁酒店店长职责范本
2014/02/13 职场文书
影子教师研修方案
2014/06/14 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
网球场地租赁协议范本
2014/10/07 职场文书
2014年纪委工作总结
2014/12/05 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
2015年大学辅导员工作总结
2015/05/12 职场文书
2016父亲节感恩话语
2015/12/09 职场文书
中秋节作文(五年级)之关于月亮
2019/09/11 职场文书