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這類才有時區的沒想到都會有的,有需要的同學可以參考一下。