根据地区不同显示时间的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 相关文章推荐
表格单元格交错着色实现思路及代码
Apr 01 Javascript
node.js中的fs.futimesSync方法使用说明
Dec 17 Javascript
js检测判断日期大于多少天的方法
May 04 Javascript
jQuery实现简洁的导航菜单效果
Nov 23 Javascript
基于jquery animate操作css样式属性小结
Nov 27 Javascript
字符串反转_JavaScript
Apr 28 Javascript
Angularjs使用指令做表单校验的方法
Mar 31 Javascript
js链表操作(实例讲解)
Aug 29 Javascript
vue实现页面加载动画效果
Sep 19 Javascript
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
Jan 08 jQuery
用js简单提供增删改查接口
May 12 Javascript
JS实现灯泡开关特效
Mar 30 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
ThinkPHP关于session的操作方法汇总
2014/07/18 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
2016/11/09 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
PHP获取真实客户端的真实IP
2017/03/07 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
关于使用runtimeStyle属性问题讨论文章
2007/03/08 Javascript
JS拖动技术 关于setCapture使用
2010/12/09 Javascript
ie6下png图片背景不透明的解决办法使用js实现
2013/01/11 Javascript
js使用数组判断提交数据是否存在相同数据
2013/11/27 Javascript
jQuery使用ajaxSubmit()提交表单示例
2014/04/04 Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
2015/02/13 Javascript
javascript中的正则表达式使用详解
2015/08/30 Javascript
js内置对象处理_打印学生成绩单的简单实现
2016/09/24 Javascript
JavaScript动态数量的文件上传控件
2016/11/18 Javascript
vue双向绑定的简单实现
2016/12/22 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
vue轮播图插件vue-concise-slider的使用
2018/03/13 Javascript
JavaScript JSON数据处理全集(小结)
2019/08/15 Javascript
js实现简单点赞操作
2020/03/17 Javascript
JavaScript onclick事件使用方法详解
2020/05/15 Javascript
Python选课系统开发程序
2016/09/02 Python
Pycharm学习教程(1) 定制外观
2017/05/02 Python
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
2018/03/15 Python
Windows上使用Python增加或删除权限的方法
2018/04/24 Python
python和shell监控linux服务器的详细代码
2018/06/22 Python
python集合的创建、添加及删除操作示例
2019/10/08 Python
django restframework serializer 增加自定义字段操作
2020/07/15 Python
mac安装python3后使用pip和pip3的区别说明
2020/09/01 Python
python语言time库和datetime库基本使用详解
2020/12/25 Python
Weekendesk意大利:探索多种引人入胜的周末主题
2016/10/14 全球购物
名人演讲稿范文
2013/12/28 职场文书
会计人员岗位职责
2014/03/19 职场文书
教师见习总结范文
2015/06/23 职场文书
pandas:get_dummies()与pd.factorize()的用法及区别说明
2021/05/21 Python
教你使用vscode 搭建react-native开发环境
2021/07/07 Javascript