根据地区不同显示时间的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 相关文章推荐
javascript addBookmark 加入收藏 多浏览器兼容
Aug 15 Javascript
用JS做的简单的可折叠的两级树形菜单
Sep 21 Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
Nov 28 Javascript
浅析JS运动
Dec 28 Javascript
深入浅析AngularJS和DataModel
Feb 16 Javascript
Angular的Bootstrap(引导)和Compiler(编译)机制
Jun 20 Javascript
laydate.js日期时间选择插件
Jan 04 Javascript
微信小程序实现瀑布流布局与无限加载的方法详解
May 12 Javascript
webpack打包后直接访问页面图片路径错误的解决方法
Jun 17 Javascript
JS实现的按钮点击颜色切换功能示例
Oct 19 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
Sep 08 Javascript
React-redux实现小案例(todolist)的过程
Sep 29 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
如何将数据从文本导入到mysql
2006/10/09 PHP
第五节--克隆
2006/11/16 PHP
实现获取http内容的php函数分享
2014/02/16 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
2016/01/18 PHP
PHP基于ORM方式操作MySQL数据库实例
2017/06/21 PHP
掌握PHP垃圾回收机制详解
2019/03/13 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
2019/05/06 PHP
JavaScript版代码高亮
2006/06/26 Javascript
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
如何用ajax来创建一个XMLHttpRequest对象
2012/12/10 Javascript
Js实现滚动变色的文字效果
2014/06/16 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
2015/05/14 Javascript
提升jQuery的性能需要做好七件事
2016/01/11 Javascript
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
2016/12/14 Javascript
Node.js 中exports 和 module.exports 的区别
2017/03/14 Javascript
JavaScript 中使用 Generator的方法
2017/12/29 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
VUE-Table上绑定Input通过render实现双向绑定数据的示例
2018/08/27 Javascript
详解基于 Node.js 的轻量级云函数功能实现
2019/07/08 Javascript
Vue中图片Src使用变量的方法
2019/10/30 Javascript
vue ssr+koa2构建服务端渲染的示例代码
2020/03/23 Javascript
详细介绍Python的鸭子类型
2016/09/12 Python
Python 二叉树的层序建立与三种遍历实现详解
2019/07/29 Python
详解Python中打乱列表顺序random.shuffle()的使用方法
2019/11/11 Python
Python+redis通过限流保护高并发系统
2020/04/15 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
2020/06/15 Python
施华洛世奇德国官网:SWAROVSKI德国
2017/02/01 全球购物
希腊品牌鞋类销售网站:epapoutsia.gr
2020/03/18 全球购物
会计主管岗位职责
2014/01/03 职场文书
生日寿宴答谢词
2014/01/19 职场文书
2014年国庆节演讲稿
2014/09/19 职场文书
初婚初育证明范本
2014/11/24 职场文书
街道党风廉政建设调研报告
2015/01/01 职场文书
2015年基层党组织公开承诺书
2015/01/21 职场文书
安全温馨提示语大全
2015/07/14 职场文书
七年级作文之雪景
2019/11/18 职场文书