js的时区函数:
1、获取当前时区和GMT时间(格林威治时间)的差值
var d=Date();
var localOffset=d.getTimezoneOffset(); //返回值以分钟为单位
举例:根据本机时间获得GMT时间和任意时区的时间
var d=new Date(); //创建一个Date对象
var localTime = d.getTime();
var localOffset=d.getTimezoneOffset()*60000; //获得当地时间偏移的毫秒数
var gmt = localTime + localOffset; //GMT时间
var offset = 10; //以夏威夷时间为例,东10区
var hawaii = gmt + (3600000*offset);
var nd = new Date(hawaii);
document.write("Hawaii time is " + nd.toLocaleString() + <br>");
2、输入UTC时间,用Date.UTC函数创建Date对象
var d=new Date(Date.UTC(year, month, day, hours, minutes, seconds, ms));
UTC时间和GMT时间的区别:两者可理解为相同。但UTC是根据原子钟来计算时间,而GMT是根据地球的自转和公转来计算时间,是英国皇家格林威治天文台所处经线的平太阳时。原子钟50亿年才会误差1秒。而GMT因为地球的自转正在缓速变慢,所以将来会发生一定的误差。但对我们使用来说并无区别。
3、输出UTC时间
函数:d.toUTCString() 或 d.toGMTString()
该俩函数相同。后者被认为是过时的。
相对于toLocaleString输出本地时间,该函数输出UTC或GMT时间
============================
Date对象的属性读取函数
============================
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)
============================
Date对象的属性设置函数
============================
setUTCDate(day,) 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份的一天。范围1~31,如超出则转为上月或下月。
setUTCFullYear(year,month,day) 函数 -- 设置date对象中用世界标准时间(UTC)表示的年份,月份和天
setUTCHours(hour,min,sec,millisec) 函数 --- 设置date对象中用世界标准时间(UTC)表示的小时,分钟,秒和毫秒
setUTCMilliseconds(millsec) 函数 -- 设置date对象中用世界标准时间(UTC)表示的毫秒数
setUTCMinutes(min,sec) 函数 -- 设置date对象中用世界标准时间(UTC)表示的分钟,秒
setUTCMonth(month,day) 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份,天
setUTCSeconds(min,millisec) 函数 -- 设置date对象中用世界标准时间(UTC)表示的秒,毫秒