javascript時區函數介紹

來源:互聯網
上載者:User

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.