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 相关文章推荐
页面中body onload 和 window.onload 冲突的问题的解决
Jul 01 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
Jun 06 Javascript
js中对象的声明方式以及数组的一些用法示例
Dec 11 Javascript
浅析js中的浮点型运算问题
Jan 06 Javascript
jQuery中after()方法用法实例
Dec 25 Javascript
JavaScrip常见的一些算法总结
Dec 28 Javascript
使用 Vue.js 仿百度搜索框的实例代码
May 09 Javascript
angular directive的简单使用总结
May 24 Javascript
jQuery实现的页面弹幕效果【测试可用】
Aug 17 jQuery
js中数组对象去重的两种方法
Jan 18 Javascript
微信小程序实现的一键拨号功能示例
Apr 24 Javascript
小程序组件之自定义顶部导航实例
Jun 12 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小技巧 把数组的键和值交换形成了新的数组,查找值取得键
2011/06/02 PHP
mac下安装nginx和php
2013/11/04 PHP
PHP 9 大缓存技术总结
2015/09/17 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
PHP时间相关常用函数用法示例
2020/06/03 PHP
jQuery开发者都需要知道的5个小技巧
2010/01/08 Javascript
jquery中的过滤操作详细解析
2013/12/02 Javascript
三种动态加载js的jquery实例代码另附去除js方法
2014/04/30 Javascript
使用JavaScript获取电池状态的方法
2014/05/03 Javascript
javascript常用函数归纳整理
2014/10/31 Javascript
NodeJS学习笔记之MongoDB模块
2015/01/13 NodeJs
为什么JS中eval处理JSON数据要加括号
2015/04/13 Javascript
BootStrap与Select2使用小结
2017/02/17 Javascript
JavaScript满天星导航栏实现方法
2018/03/08 Javascript
vue使用ajax获取后台数据进行显示的示例
2018/08/09 Javascript
分享5个好用的javascript文件上传插件
2018/09/16 Javascript
JS编写兼容IE6,7,8浏览器无缝自动轮播
2018/10/12 Javascript
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
2019/05/02 Javascript
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
浅谈Python脚本开头及导包注释自动添加方法
2018/10/27 Python
python 输出所有大小写字母的方法
2019/01/02 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
2020/01/06 Python
如何利用python检测图片是否包含二维码
2020/10/15 Python
TecoBuy澳大利亚:在线电子和小工具商店
2020/06/25 全球购物
同学聚会欢迎辞
2014/01/14 职场文书
实习老师离校感言
2014/02/03 职场文书
两只小狮子教学反思
2014/02/05 职场文书
房屋转让协议书
2014/04/11 职场文书
常务副总经理岗位职责
2014/04/12 职场文书
财务工作检讨书
2014/10/29 职场文书
2015年幼儿园卫生保健工作总结
2015/05/12 职场文书
Java实现多文件上传功能
2021/06/30 Java/Android
python库sklearn常用操作
2021/08/23 Python
springboot + mongodb 通过经纬度坐标匹配平面区域的方法
2021/11/01 MongoDB
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python