根据地区不同显示时间的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 相关文章推荐
由prototype_1.3.1进入javascript殿堂-类的初探
Nov 06 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
Feb 27 Javascript
函数式 JavaScript(一)简介
Jul 07 Javascript
JavaScript模拟重力状态下抛物运动的方法
Mar 03 Javascript
JS实现仿新浪黄色经典滑动门效果代码
Sep 27 Javascript
第五章之BootStrap 栅格系统
Apr 25 Javascript
jQuery层级选择器实例代码
Feb 06 Javascript
jQuery实现鼠标滑过商品小图片上显示对应大图片功能【测试可用】
Apr 27 jQuery
详解vue-cli3 中跨域解决方案
Apr 10 Javascript
js逆向解密之网络爬虫
May 30 Javascript
解决vue里a标签值解析变量,跳转页面,前面加默认域名端口的问题
Jul 22 Javascript
Vue.js中v-for指令的用法介绍
Mar 13 Vue.js
解决使用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
【COS正片】蕾姆睡衣cos,纯洁可爱被治愈了 cn名濑弥七
2020/03/02 日漫
PHP 数组基础知识小结
2010/08/20 PHP
php计算税后工资的方法
2015/07/28 PHP
php实时倒计时功能实现方法详解
2017/02/27 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
JS中令人发指的valueOf方法介绍
2013/02/22 Javascript
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
浅谈vue-router2路由参数注意的问题
2017/11/08 Javascript
Vue-路由导航菜单栏的高亮设置方法
2018/03/17 Javascript
Vue波纹按钮组件制作
2018/04/30 Javascript
Vue Prop属性功能与用法实例详解
2019/02/23 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
JavaScript如何实现元素全排列实例代码
2019/05/14 Javascript
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
精确查找PHP WEBSHELL木马的方法(1)
2011/04/12 Python
实例说明Python中比较运算符的使用
2015/05/13 Python
PyQt5 pyqt多线程操作入门
2018/05/05 Python
django加载本地html的方法
2018/05/27 Python
Python3安装psycopy2以及遇到问题解决方法
2019/07/03 Python
Pytorch反向求导更新网络参数的方法
2019/08/17 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
2020/02/28 Python
理解Django 中Call Stack机制的小Demo
2020/09/01 Python
美国存储和组织商店:The Container Store
2017/08/16 全球购物
英国鹦鹉店:Parrot Essentials
2018/12/03 全球购物
Vans(范斯)新西兰官方网站:美国原创极限运动品牌
2020/09/19 全球购物
小学生综合素质评语
2014/04/23 职场文书
党的群众路线教育实践方案
2014/05/11 职场文书
党员干部作风建设思想汇报范文
2014/10/25 职场文书
晚会闭幕词
2015/01/28 职场文书
副总经理岗位职责
2015/02/02 职场文书
行政助理岗位职责
2015/02/10 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
2015年劳动部工作总结
2015/05/23 职场文书
导游词之宿迁乾隆行宫
2019/10/15 职场文书