当前位置: 移动技术网 > IT编程>开发语言>JavaScript > javascript时区函数介绍

javascript时区函数介绍

2019年07月19日  | 移动技术网IT编程  | 我要评论

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这类才有时区的没想到都会有的,有需要的同学可以参考一下。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网