javascript時(shí)區(qū)函數(shù)介紹
js的時(shí)區(qū)函數(shù):
設(shè)datename為創(chuàng)建的一個(gè)Date對(duì)象
====================
datename.getTimezoneOffset()
--取得當(dāng)?shù)貢r(shí)間和GMT時(shí)間(格林威治時(shí)間)的差值,返回值以分鐘為單位
====================
舉例:根據(jù)本地時(shí)間獲得GMT時(shí)間和任意時(shí)區(qū)的時(shí)間
d=new Date(); //創(chuàng)建一個(gè)Date對(duì)象
localTime = d.getTime();
localOffset=d.getTimezoneOffset()*60000; //獲得當(dāng)?shù)貢r(shí)間偏移的毫秒數(shù)
utc = localTime + localOffset; //utc即GMT時(shí)間
offset =10; //以夏威夷時(shí)間為例,東10區(qū)
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時(shí)間構(gòu)建Date對(duì)象,返回Date對(duì)象
==============================
直接創(chuàng)建Date對(duì)象則認(rèn)為輸入的是當(dāng)?shù)貢r(shí)間,而用Date.UTC創(chuàng)建對(duì)象則認(rèn)為輸入的是GMT時(shí)間
============================
datename.toUTCString()
datename.toGMTString()
--輸出GMT時(shí)間
============================
該倆函數(shù)相同。后者被認(rèn)為是過(guò)時(shí)的。
相對(duì)于toLocaleString輸出本地時(shí)間,該函數(shù)輸出GMT時(shí)間
============================
其他
============================
getUTCDate() 函數(shù) -- 返回date對(duì)象中用世界標(biāo)準(zhǔn)時(shí)間(UTC)表示的月份中的一天(1-31)
getUTCDay() 函數(shù) -- 返回date對(duì)象中用世界標(biāo)準(zhǔn)時(shí)間(UTC)表示的周中的一天(0-6)
getUTCFullYear() 函數(shù) -- 返回date對(duì)象中用世界標(biāo)準(zhǔn)時(shí)間(UTC)表示的四位年份
getUTCHours() 函數(shù) -- 返回date對(duì)象中用世界標(biāo)準(zhǔn)時(shí)間(UTC)表示的小時(shí)數(shù)(0-23)
getUTCMilliseconds() 函數(shù) -- 返回date對(duì)象中用世界標(biāo)準(zhǔn)時(shí)間(UTC)表示的毫秒數(shù)(0-999)
getUTCMinutes() 函數(shù) -- 返回date對(duì)象中用世界標(biāo)準(zhǔn)時(shí)間(UTC)表示的分鐘數(shù)(0-59)
getUTCMonth() 函數(shù) -- 返回date對(duì)象中用世界標(biāo)準(zhǔn)時(shí)間(UTC)表示的月份數(shù)(0-11)
getUTCSeconds() 函數(shù) -- 返回date對(duì)象中用世界標(biāo)準(zhǔn)時(shí)間(UTC)表示的秒數(shù)(0-59)
setUTCDate() 函數(shù) -- 設(shè)置date對(duì)象中用世界標(biāo)準(zhǔn)時(shí)間(UTC)表示的月份的一天,并返回date對(duì)象距1970年1月1日午夜之間的毫秒數(shù)(時(shí)間戳)
setUTCFullYear() 函數(shù) -- 設(shè)置date對(duì)象中用世界標(biāo)準(zhǔn)時(shí)間(UTC)表示的年份,月份和天,并返回date對(duì)象距1970年1月1日午夜之間的毫秒數(shù)(時(shí)間戳)
setUTCHours() 函數(shù) --- 設(shè)置date對(duì)象中用世界標(biāo)準(zhǔn)時(shí)間(UTC)表示的小時(shí),分鐘,秒和毫秒,并返回date對(duì)象距1970年1月1日午夜之間的毫秒數(shù)(時(shí)間戳)
setUTCMilliseconds() 函數(shù) -- 設(shè)置date對(duì)象中用世界標(biāo)準(zhǔn)時(shí)間(UTC)表示的毫秒數(shù),并返回date對(duì)象距1970年1月1日午夜之間的毫秒數(shù)(時(shí)間戳)
setUTCMinutes() 函數(shù) -- 設(shè)置date對(duì)象中用世界標(biāo)準(zhǔn)時(shí)間(UTC)表示的分鐘,秒,并返回date對(duì)象距1970年1月1日午夜之間的毫秒數(shù)(時(shí)間戳)
setUTCMonth() 函數(shù) -- 設(shè)置date對(duì)象中用世界標(biāo)準(zhǔn)時(shí)間(UTC)表示的月份,天,并返回date對(duì)象距1970年1月1日午夜之間的毫秒數(shù)(時(shí)間戳)
setUTCSeconds() 函數(shù) -- 設(shè)置date對(duì)象中用世界標(biāo)準(zhǔn)時(shí)間(UTC)表示的秒,毫秒,并返回date對(duì)象距1970年1月1日午夜之間的毫秒數(shù)(時(shí)間戳)
在js中的時(shí)區(qū)我們以般講的是關(guān)于格林威治時(shí)間和本地時(shí)間之間的時(shí)差,以分鐘為單位,這和php,asp沒(méi)什么區(qū)別下面我們結(jié)合date()函數(shù)來(lái)介紹一下js時(shí)區(qū)的相關(guān)問(wèn)題。
定義和用法
getTimezoneOffset() 方法可返回格林威治時(shí)間和本地時(shí)間之間的時(shí)差,以分鐘為單位。
語(yǔ)法
dateObject.getTimezoneOffset()返回值
本地時(shí)間與 GMT 時(shí)間之間的時(shí)間差,以分鐘為單位。
在下面的例子中,我們將取得 GMT 時(shí)間與本地時(shí)間以分鐘計(jì)的時(shí)間差:
<script type="text/javascript">
var d = new Date()
document.write(d.getTimezoneOffset())
</script>
輸出:
-480
設(shè)datename為創(chuàng)建的一個(gè)Date對(duì)象
====================
datename.getTimezoneOffset()
--取得當(dāng)?shù)貢r(shí)間和GMT時(shí)間(格林威治時(shí)間)的差值,返回值以分鐘為單位
====================
舉例:根據(jù)本地時(shí)間獲得GMT時(shí)間和任意時(shí)區(qū)的時(shí)間
d=new Date(); //創(chuàng)建一個(gè)Date對(duì)象
localTime = d.getTime();
localOffset=d.getTimezoneOffset()*60000; //獲得當(dāng)?shù)貢r(shí)間偏移的毫秒數(shù)
utc = localTime + localOffset; //utc即GMT時(shí)間
offset =10; //以夏威夷時(shí)間為例,東10區(qū)
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時(shí)間構(gòu)建Date對(duì)象,返回Date對(duì)象
==============================
直接創(chuàng)建Date對(duì)象則認(rèn)為輸入的是當(dāng)?shù)貢r(shí)間,而用Date.UTC創(chuàng)建對(duì)象則認(rèn)為輸入的是GMT時(shí)間
代碼如下 復(fù)制代碼
datename.toUTCString()
datename.toGMTString()
--輸出GMT時(shí)間
============================
該倆函數(shù)相同。后者被認(rèn)為是過(guò)時(shí)的。
相對(duì)于toLocaleString輸出本地時(shí)間,該函數(shù)輸出GMT時(shí)間
說(shuō)明
getTimezoneOffset() 方法返回的是本地時(shí)間與 GMT 時(shí)間或 UTC 時(shí)間之間相差的分鐘數(shù)。實(shí)際上,該函數(shù)告訴我們運(yùn)行 JavaScript 代碼的時(shí)區(qū),以及指定的時(shí)間是否是夏令時(shí)。
返回之所以以分鐘計(jì),而不是以小時(shí)計(jì),原因是某些國(guó)家所占有的時(shí)區(qū)甚至不到一個(gè)小時(shí)的間隔。
提示和注釋?zhuān)?
注釋?zhuān)河捎谑褂孟牧顣r(shí)的慣例,該方法的返回值不是一個(gè)常量。
注釋?zhuān)涸摲椒偸墙Y(jié)合一個(gè) Date 對(duì)象來(lái)使用。
var myDate=new Date()
Date 對(duì)象會(huì)自動(dòng)把當(dāng)前日期和時(shí)間保存為其初始值。
參數(shù)形式有以下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);
注意最后一種形式,參數(shù)表示的是需要?jiǎng)?chuàng)建的時(shí)間和GMT時(shí)間1970年1月1日之間相差的毫秒數(shù)。各種函數(shù)的含義如下:
month:用英文表示月份名稱(chēng),從January到December
mth:用整數(shù)表示月份,從(1月)到11(12月)
dd:表示一個(gè)月中的第幾天,從1到31
yyyy:四位數(shù)表示的年份
hh:小時(shí)數(shù),從0(午夜)到23(晚11點(diǎn))
mm:分鐘數(shù),從0到59的整數(shù)
ss:秒數(shù),從0到59的整數(shù)
ms:毫秒數(shù),為大于等于0的整數(shù)
如:
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也有時(shí)區(qū)這個(gè)總以為只是asp,php這類(lèi)才有時(shí)區(qū)的沒(méi)想到都會(huì)有的,有需要的同學(xué)可以參考一下。
- JavaScript獲取時(shí)區(qū)實(shí)現(xiàn)過(guò)程解析
- javascript+php實(shí)現(xiàn)根據(jù)用戶(hù)時(shí)區(qū)顯示當(dāng)?shù)貢r(shí)間的方法
- 使用js判斷當(dāng)前時(shí)區(qū)TimeZone是否是夏令時(shí)
- js獲得當(dāng)前時(shí)區(qū)夏令時(shí)發(fā)生和終止的時(shí)間代碼
- Javascript 世界時(shí)區(qū)時(shí)間顯示代碼
- Javascript 日期處理之時(shí)區(qū)問(wèn)題
- JavaScript 腳本將當(dāng)?shù)貢r(shí)間轉(zhuǎn)換成其它時(shí)區(qū)
- JS時(shí)間戳與日期格式互相轉(zhuǎn)換的簡(jiǎn)單方法示例
- JS徹底弄懂GMT和UTC時(shí)區(qū)
相關(guān)文章
兼容FireFox 的 js 日歷 支持時(shí)間的獲取
應(yīng)網(wǎng)友要求,花了五六個(gè)小時(shí),為我經(jīng)常用的 js 日歷添加時(shí)間的獲取。2009-03-03簡(jiǎn)單JavaScript日歷及詳細(xì)說(shuō)明
HTML和CSS樣式可以自行修改,但是整體不做太大改變的情況下.直接待用calendar類(lèi),并且使用init方法,把日歷HTML的id調(diào)入即可2010-07-07datePicker——日期選擇控件(with jquery)
用法很簡(jiǎn)單,而且js文件也很小,之前也見(jiàn)過(guò)一些日期選擇控件,但個(gè)頭都比較大,影響速度2007-02-02JavaScript 判斷日期格式是否正確的實(shí)現(xiàn)代碼
沒(méi)有多大變動(dòng),主要是返回錯(cuò)誤信息,以便調(diào)用函數(shù)部分可以alert出來(lái)。據(jù)說(shuō)可以用正則表達(dá)式校驗(yàn),下次再研究下。2011-07-07僅2行代碼的javascript按指定格式顯示日期時(shí)間效果
我曾為解決該問(wèn)題花了不少時(shí)間,主要是網(wǎng)絡(luò)上找到的代碼要么非常煩瑣,要么不能通用或格式只能固定幾個(gè),所以我專(zhuān)門(mén)對(duì)這個(gè)問(wèn)題進(jìn)行了研究,最終優(yōu)化到只有2行代碼,非常精簡(jiǎn)。2011-09-09