根据地区不同显示时间的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的父、子、兄弟节点查找,节点的子节点循环方法
Dec 07 Javascript
JavaScript数组复制详解
Feb 02 Javascript
ES6学习之变量的解构赋值
Feb 12 Javascript
从零开始学习Node.js系列教程二:文本提交与显示方法
Apr 13 Javascript
vue之nextTick全面解析
May 17 Javascript
vue2.0 中使用transition实现动画效果使用心得
Aug 13 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
Sep 12 Javascript
原生js实现公告滚动效果
Jan 10 Javascript
vue学习笔记之slot插槽基本用法实例分析
Feb 01 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
Jun 04 Javascript
jquery+ajax实现异步上传文件显示进度条
Aug 17 jQuery
利用uni-app生成微信小程序的踩坑记录
Apr 05 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 str_pad() 将字符串填充成指定长度的字符串
2010/02/23 PHP
CodeIgniter上传图片成功的全部过程分享
2013/08/12 PHP
原生JS实现Ajax通过POST方式与PHP进行交互的方法示例
2018/05/12 PHP
js异步加载的三种解决方案
2013/03/04 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
2013/09/06 Javascript
js获取html页面节点方法(递归方式)
2013/12/13 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
jQuery中Ajax的get、post等方法详解
2015/01/20 Javascript
js实现的奥运倒计时时钟效果代码
2015/12/09 Javascript
JavaScript的函数式编程基础指南
2016/03/19 Javascript
Ionic如何实现下拉刷新与上拉加载功能
2016/06/03 Javascript
js判断是否是手机页面
2017/03/17 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
2018/08/09 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
2018/08/20 Javascript
理顺8个版本vue的区别(小结)
2018/09/17 Javascript
JS使用正则表达式判断输入框失去焦点事件
2019/10/16 Javascript
搭建vscode+vue环境的详细教程
2020/08/31 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
2020/12/14 Vue.js
在vue项目中封装echarts的步骤
2020/12/25 Vue.js
Python 实现数据库更新脚本的生成方法
2017/07/09 Python
用pandas按列合并两个文件的实例
2018/04/12 Python
详解python中Numpy的属性与创建矩阵
2018/09/10 Python
如何通过雪花算法用Python实现一个简单的发号器
2019/07/03 Python
Django使用模板后无法找到静态资源文件问题解决
2019/07/19 Python
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
项目申请汇报材料
2014/08/16 职场文书
志愿者爱心公益活动策划方案
2014/09/15 职场文书
先进典型事迹材料
2014/12/29 职场文书
党员倡议书
2015/01/19 职场文书
死者家属慰问信
2015/03/24 职场文书
投诉书范文
2015/07/02 职场文书
MySQL慢查询的坑
2021/04/28 MySQL
Vue3中的Refs和Ref详情
2021/11/11 Vue.js
JPA 通过Specification如何实现复杂查询
2021/11/23 Java/Android
Javascript中async与await的捕捉错误详解
2022/03/03 Javascript
Python中非常使用的6种基本变量的操作与技巧
2022/03/22 Python