javascript时区函数介绍


Posted in Javascript onSeptember 14, 2012

js的时区函数:

设datename为创建的一个Date对象

====================
datename.getTimezoneOffset()
--取得当地时间和GMT时间(格林威治时间)的差值,返回值以分钟为单位
====================

举例:根据本地时间获得GMT时间和任意时区的时间

d=new Date(); //创建一个Date对象
localTime = d.getTime();
localOffset=d.getTimezoneOffset()*60000; //获得当地时间偏移的毫秒数
utc = localTime + localOffset; //utc即GMT时间
offset =10; //以夏威夷时间为例,东10区
hawaii = utc + (3600000*offset);
nd = new Date(hawaii);
document.writeln("Hawaii time is " + nd.toLocaleString() + <br>");

============================
Date.UTC(year, month, day, hours, minutes, seconds, ms)

--以GMT时间构建Date对象,返回Date对象
==============================

直接创建Date对象则认为输入的是当地时间,而用Date.UTC创建对象则认为输入的是GMT时间

============================
datename.toUTCString()
datename.toGMTString()
--输出GMT时间
============================

该俩函数相同。后者被认为是过时的。

相对于toLocaleString输出本地时间,该函数输出GMT时间

============================
其他
============================

getUTCDate() 函数 -- 返回date对象中用世界标准时间(UTC)表示的月份中的一天(1-31)
getUTCDay() 函数 -- 返回date对象中用世界标准时间(UTC)表示的周中的一天(0-6)
getUTCFullYear() 函数 -- 返回date对象中用世界标准时间(UTC)表示的四位年份
getUTCHours() 函数 -- 返回date对象中用世界标准时间(UTC)表示的小时数(0-23)
getUTCMilliseconds() 函数 -- 返回date对象中用世界标准时间(UTC)表示的毫秒数(0-999)
getUTCMinutes() 函数 -- 返回date对象中用世界标准时间(UTC)表示的分钟数(0-59)
getUTCMonth() 函数 -- 返回date对象中用世界标准时间(UTC)表示的月份数(0-11)
getUTCSeconds() 函数 -- 返回date对象中用世界标准时间(UTC)表示的秒数(0-59)

setUTCDate() 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCFullYear() 函数 -- 设置date对象中用世界标准时间(UTC)表示的年份,月份和天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCHours() 函数 --- 设置date对象中用世界标准时间(UTC)表示的小时,分钟,秒和毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCMilliseconds() 函数 -- 设置date对象中用世界标准时间(UTC)表示的毫秒数,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCMinutes() 函数 -- 设置date对象中用世界标准时间(UTC)表示的分钟,秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCMonth() 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份,天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCSeconds() 函数 -- 设置date对象中用世界标准时间(UTC)表示的秒,毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)

在js中的时区我们以般讲的是关于格林威治时间和本地时间之间的时差,以分钟为单位,这和php,asp没什么区别下面我们结合date()函数来介绍一下js时区的相关问题。

定义和用法

getTimezoneOffset() 方法可返回格林威治时间和本地时间之间的时差,以分钟为单位。
语法
dateObject.getTimezoneOffset()返回值
本地时间与 GMT 时间之间的时间差,以分钟为单位。
在下面的例子中,我们将取得 GMT 时间与本地时间以分钟计的时间差:

<script type="text/javascript"> 
var d = new Date() 
document.write(d.getTimezoneOffset()) 
</script>

输出:
-480
设datename为创建的一个Date对象
====================
datename.getTimezoneOffset()
--取得当地时间和GMT时间(格林威治时间)的差值,返回值以分钟为单位
====================

举例:根据本地时间获得GMT时间和任意时区的时间

d=new Date(); //创建一个Date对象 
localTime = d.getTime(); 
localOffset=d.getTimezoneOffset()*60000; //获得当地时间偏移的毫秒数 
utc = localTime + localOffset; //utc即GMT时间 
offset =10; //以夏威夷时间为例,东10区 
hawaii = utc + (3600000*offset); 
nd = new Date(hawaii); 
document.writeln("Hawaii time is " + nd.toLocaleString() + <br>"); 
Date.UTC(year, month, day, hours, minutes, seconds, ms) 
--以GMT时间构建Date对象,返回Date对象

==============================
直接创建Date对象则认为输入的是当地时间,而用Date.UTC创建对象则认为输入的是GMT时间
代码如下 复制代码
datename.toUTCString()
datename.toGMTString()
--输出GMT时间
============================
该俩函数相同。后者被认为是过时的。
相对于toLocaleString输出本地时间,该函数输出GMT时间

说明
getTimezoneOffset() 方法返回的是本地时间与 GMT 时间或 UTC 时间之间相差的分钟数。实际上,该函数告诉我们运行 JavaScript 代码的时区,以及指定的时间是否是夏令时。
返回之所以以分钟计,而不是以小时计,原因是某些国家所占有的时区甚至不到一个小时的间隔。
提示和注释:
注释:由于使用夏令时的惯例,该方法的返回值不是一个常量。
注释:该方法总是结合一个 Date 对象来使用。

var myDate=new Date()
Date 对象会自动把当前日期和时间保存为其初始值。
参数形式有以下5种:

new Date("month dd,yyyy hh:mm:ss"); 
new Date("month dd,yyyy"); 
new Date(yyyy,mth,dd,hh,mm,ss); 
new Date(yyyy,mth,dd); 
new Date(ms);

注意最后一种形式,参数表示的是需要创建的时间和GMT时间1970年1月1日之间相差的毫秒数。各种函数的含义如下:
month:用英文表示月份名称,从January到December
mth:用整数表示月份,从(1月)到11(12月)
dd:表示一个月中的第几天,从1到31
yyyy:四位数表示的年份
hh:小时数,从0(午夜)到23(晚11点)
mm:分钟数,从0到59的整数
ss:秒数,从0到59的整数
ms:毫秒数,为大于等于0的整数
如:
new Date("January 12,2006 22:19:35"); 
new Date("January 12,2006"); 
new Date(2006,0,12,22,19,35); 
new Date(2006,0,12); 
new Date(1137075575000);

以前不知道js也有时区这个总以为只是asp,php这类才有时区的没想到都会有的,有需要的同学可以参考一下。
Javascript 相关文章推荐
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
Nov 21 Javascript
JS Map 和 List 的简单实现代码
Jul 08 Javascript
Javascript 遮罩层和加载效果代码
Aug 01 Javascript
简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器
Oct 22 Javascript
超炫的jquery仿flash导航栏特效
Nov 11 Javascript
js处理层级数据结构的方法小结
Jan 17 Javascript
JSON 数据详解及实例代码分析
Jan 20 Javascript
vue2的todolist入门小项目的详细解析
May 11 Javascript
利用JS代码自动删除稿件的普通弹幕功能
Sep 20 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
Nov 04 Javascript
微信分享invalid signature签名错误踩过的坑
Apr 11 Javascript
如何在JavaScript中等分数组的实现
Dec 13 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
Sep 14 #Javascript
推荐40款强大的 jQuery 导航插件和教程(上篇)
Sep 14 #Javascript
基于JQuery的一句话搞定手风琴菜单
Sep 14 #Javascript
JQuery select控件的相关操作实现代码
Sep 14 #Javascript
11个用于提高排版水平的基于jquery的文字效果插件
Sep 14 #Javascript
六款帮助你实现惊艳视差滚动效果的jQuery插件
Sep 14 #Javascript
推荐17个优美新鲜的jQuery的工具提示插件
Sep 14 #Javascript
You might like
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
2012/09/23 PHP
基于php实现长连接的方法与注意事项的问题
2013/05/10 PHP
php之curl实现http与https请求的方法
2014/10/21 PHP
php web环境和命令行环境下查找php.ini的位置
2019/07/17 PHP
Jquery作者John Resig自己封装的javascript 常用函数
2009/11/09 Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
2011/02/25 Javascript
FF火狐下获取一个元素同类型的相邻元素实现代码
2012/12/15 Javascript
JS继承--原型链继承和类式继承
2013/04/08 Javascript
Perl Substr()函数及函数的应用
2015/12/16 Javascript
你有必要知道的25个JavaScript面试题
2015/12/29 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
2016/02/06 Javascript
深入理解Node.js的HTTP模块
2016/10/12 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
bootstrap是什么_动力节点Java学院整理
2017/07/14 Javascript
bootstrap实现二级下拉菜单效果
2017/11/23 Javascript
JS实现在文本指定位置插入内容的简单示例
2017/12/22 Javascript
Vue配合iView实现省市二级联动的示例代码
2018/07/27 Javascript
Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
2018/08/24 Javascript
世界上最短的数字判断js代码
2019/09/09 Javascript
vue路由传参的基本实现方式小结【三种方式】
2020/02/05 Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
2020/06/05 Javascript
Angular+ionic实现折叠展开效果的示例代码
2020/07/29 Javascript
跟老齐学Python之不要红头文件(2)
2014/09/28 Python
python爬虫入门教程--快速理解HTTP协议(一)
2017/05/25 Python
带你了解python装饰器
2017/06/15 Python
Python3日期与时间戳转换的几种方法详解
2019/06/04 Python
使用keras根据层名称来初始化网络
2020/05/21 Python
Python把图片转化为pdf代码实例
2020/07/28 Python
高级Java程序员面试题
2016/06/23 面试题
青年创业培训欢迎词
2014/01/08 职场文书
2014两会优秀的心得体会范文
2014/03/17 职场文书
好员工观后感
2015/06/17 职场文书
获奖感言范文
2015/07/31 职场文书
《英雄联盟》2022日蚀、月蚀皮肤演示 黑潮亚索曝光
2022/04/13 其他游戏
MySQL如何使备份得数据保持一致
2022/05/02 MySQL
5个实用的JavaScript新特性
2022/06/16 Javascript