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 相关文章推荐
JQuery的Validation插件中Remote验证的中文问题
Jul 26 Javascript
关于javascript event flow 的一个bug详解
Sep 17 Javascript
基于jQuery实现最基本的淡入淡出效果实例
Feb 02 Javascript
完美实现仿QQ空间评论回复特效
May 06 Javascript
浅谈下拉菜单中的Option对象
May 10 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
May 25 Javascript
数据分析软件之FineReport教程:[5]参数界面JS(全)
Aug 13 Javascript
JavaScript生成.xls文件的代码
Dec 22 Javascript
jQuery简单获取DIV和A标签元素位置的方法
Feb 07 Javascript
使用canvas及js简单生成验证码方法
Apr 02 Javascript
详解Angular路由之路由守卫
May 10 Javascript
深入了解JavaScript 私有化
May 30 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
广播爱好者需要了解的天线知识
2021/03/01 无线电
PHP中数字检测is_numeric与ctype_digit的区别介绍
2012/10/04 PHP
详解PHP中的mb_detect_encoding函数使用方法
2015/08/18 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
jQuery获取文本节点之 text()/val()/html() 方法区别
2011/03/01 Javascript
使用javascipt---实现二分查找法
2013/04/10 Javascript
通过location.replace禁止浏览器后退防止重复提交
2014/09/04 Javascript
js打造数组转json函数
2015/01/14 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
2017/07/14 Javascript
详解Angular系列之变化检测(Change Detection)
2018/02/26 Javascript
vue监听对象及对象属性问题
2018/08/20 Javascript
jquery实现垂直无限轮播的方法分析
2019/07/16 jQuery
一篇文章带你浅入webpack的DLL优化打包
2020/02/20 Javascript
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
2015/04/05 Python
Python标准库之Sys模块使用详解
2015/05/23 Python
利用Opencv中Houghline方法实现直线检测
2018/02/11 Python
Python中一行和多行import模块问题
2018/04/01 Python
centos7之Python3.74安装教程
2019/08/15 Python
python requests.get带header
2020/05/05 Python
Python切片列表字符串如何实现切换
2020/08/06 Python
Python中免验证跳转到内容页的实例代码
2020/10/23 Python
Django数据模型中on_delete使用详解
2020/11/30 Python
html svg生成环形进度条的实现方法
2019/09/23 HTML / CSS
西班牙灯具网上商店:Lampara.es
2018/06/05 全球购物
BASIC HOUSE官方旗舰店:韩国著名的服装品牌
2018/09/27 全球购物
Converse匡威法国官网:美国著名帆布鞋品牌
2018/12/05 全球购物
OSPF有什么优点?为什么OSPF比RIP收敛快?
2013/02/13 面试题
药学专业个人的自我评价
2013/12/31 职场文书
《独坐敬亭山》教学反思
2014/04/08 职场文书
项目合作协议书范本
2014/04/16 职场文书
党的群众路线教育实践活动查摆问题自查报告
2014/10/10 职场文书
大学生个人年度总结范文
2015/02/15 职场文书
2015年社区中秋节活动总结
2015/03/23 职场文书
解决Mysql的left join无效及使用的注意事项说明
2021/07/01 MySQL
聊聊Lombok中的@Builder注解使用教程
2021/11/17 Java/Android