根据地区不同显示时间的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 相关文章推荐
动态调用css文件——jquery的应用
Feb 20 Javascript
JS写的数字拼图小游戏代码[学习参考]
Oct 29 Javascript
javascript中用星号表示预录入内容的实现代码
Jan 08 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
Feb 12 Javascript
AngularJS ng-bind 指令简单实现
Jul 30 Javascript
jQuery如何封装输入框插件
Aug 19 Javascript
Vue结合原生js实现自定义组件自动生成示例
Jan 21 Javascript
详解Vue源码学习之callHook钩子函数
Jul 25 Javascript
对 Vue-Router 进行单元测试的方法
Nov 05 Javascript
利用JavaScript将Excel转换为JSON示例代码
Jun 14 Javascript
JS数组的常用10种方法详解
May 08 Javascript
Javascript 模拟mvc实现点餐程序案例详解
Dec 24 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 checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
php&amp;mysql 日期操作小记
2012/02/27 PHP
php中time()和mktime()方法的区别
2013/09/28 PHP
JS异常处理try..catch语句的作用和实例
2014/05/05 PHP
thinkphp在模型中自动完成session赋值示例代码
2014/09/09 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
2017/03/13 PHP
在php7中MongoDB实现模糊查询的方法详解
2017/05/03 PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
2017/06/27 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
基于jQuery的弹出消息插件 DivAlert之旅(一)
2010/04/01 Javascript
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
JQuery 使用attr方法实现下拉列表选中
2014/10/13 Javascript
angularjs 处理多个异步请求方法汇总
2015/01/06 Javascript
jQuery使用$.ajax进行异步刷新的方法(附demo下载)
2015/12/04 Javascript
使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目
2016/02/15 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
2016/04/30 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
Node.js Express 框架 POST方法详解
2017/01/23 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
2018/02/26 Javascript
JavaScript禁用右键单击优缺点分析
2019/01/20 Javascript
vue 实现通过vuex 存储值 在不同界面使用
2019/11/11 Javascript
Vue通过provide inject实现组件通信
2020/09/03 Javascript
[02:54]DOTA2英雄基础教程 撼地者
2014/01/14 DOTA
java中的控制结构(if,循环)详解
2019/06/26 Python
Ubuntu+python将nii图像保存成png格式
2019/07/18 Python
python实现的分析并统计nginx日志数据功能示例
2019/12/21 Python
印度低票价航空公司:GoAir
2017/10/11 全球购物
视光学专业毕业生推荐信
2013/10/28 职场文书
应届生个人求职信模板
2013/11/26 职场文书
小学教师培训感言
2014/02/11 职场文书
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
2014年学前班工作总结
2014/12/08 职场文书
优秀员工自荐书
2015/03/06 职场文书
入党介绍人意见范文
2015/06/01 职场文书
TV动画《间谍过家家》公开PV
2022/03/20 日漫
Win11安装升级时提示“该电脑必须支持安全启动”
2022/04/19 数码科技