日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

第一百零四节,JavaScript时间与日期

發布時間:2025/5/22 javascript 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第一百零四节,JavaScript时间与日期 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JavaScript時間與日期

?

學習要點:

1.Date類型

2.通用的方法

3.格式化方法

4.組件方法

?

ECMAScript提供了Date類型來處理時間和日期。Date類型內置一系列獲取和設置日期時間信息的方法。

?

一.Date類型

ECMAScript中的Date類型是在早期Java中java.util.Date類基礎上構建的。為此,Date類型使用UTC (Coordinated Universal Time,國際協調時間[又稱世界統一時間]) 1970年1月1日午夜(零時)開始經過的毫秒來保存日期。在使用這種數據存儲格式的條件下,Date類型保存的日期能夠精確到1970年1月1日之前或之后的285616年。

Date()創建一個日期對象,使用new運算符和Date構造方法(構造函數)即可

在調用Date構造方法而不傳遞參數的情況下,新建的對象自動獲取當前的時間和日期。

var box = new Date(); //創建一個日期對象 alert(box); //打印時間對象,返回Thu Nov 03 2016 14:56:21 GMT+0800//不同瀏覽器顯示不同

ECMAScript提供了兩個方法,Date.parse()和Date.UTC()。Date.parse()方法接收一個表示日期的字符串參數,然后嘗試根據這個字符串返回相應的毫秒數。ECMA-262沒有定義Date.parse()應該支持哪種日期格式,因此方法的行為因實現而異,因地區而異。默認通常接收的日期格式如下:

?

Date.parse()方法接收一個表示日期的字符串參數,然后嘗試根據這個字符串返回相應的毫秒數【有參傳時間日期格式】

1.'月/日/年',如6/13/2011;

2.'英文月名 日, 年',如 May 25, 2004;

3.'英文星期幾 英文月名 日 年 時:分:秒 時區',如 Tue May 25 2004 00:00:00 GMT-070

如果Date.parse()沒有傳入或者不是標準的日期格式,那么就會返回NaN。

var box = Date.parse('6/13/2011'); //創建一個日期對象,調用parse方法,傳入時間格式 alert(box); //打印時間對象,返回1307894400000,時間毫秒數

如果想輸出指定的日期,那么把Date.parse()傳入Date構造方法里。

var box1 = new Date(Date.parse('6/13/2011')); //Date.parse獲取指定時間的毫秒數,將毫秒數傳參給Date() alert(box1); //返回Mon Jun 13 2011 00:00:00 GMT+0800var box2 = new Date('6/13/2011'); //直接傳入指定時間,后臺會自動調用Date.parse()方法 alert(box2); //返回Mon Jun 13 2011 00:00:00 GMT+0800

PS:Date對象及其在不同瀏覽器中的實現有許多奇怪的行為。其中有一種傾向是將超出的范圍的值替換成當前的值,以便生成輸出。例如,在解析“January 32, 2007”時,有的瀏覽器會講其解釋為“February 1, 2007”。而Opera則傾向與插入當前月份的當前日期。

?

Date.UTC()方法接收一個表示日期的字符串參數,返回相應的毫秒數

Date.UTC()方法同樣也返回表示日期的毫秒數,但它與Date.parse()在構建值時使用不同的信息。(年份,基于0的月份[0表示1月,1表示2月],月中的哪一天[1-31],小時數[0-23],分鐘,秒以及毫秒)。只有前兩個參數是必須的。如果沒有提供月數,則天數為1;如果省略其他參數,則統統為0.

var box = Date.UTC(2016,11); //必傳參數年月 alert(box); //返回1480550400000

如果Date.UTC()參數傳遞錯誤,那么就會出現負值或者NaN等非法信息。

alert(Date.UTC()); //負值或者NaN

如果要輸出指定日期,那么直接把Date.UTC()傳入Date構造方法里即可。

var box = new Date(Date.UTC(2011,11, 5, 15, 13, 16)); //Date.UTC獲取到毫秒數,傳給Date() alert(box); //返回Mon Dec 05 2011 23:13:16 GMT+0800 var box = new Date(2011,11, 5, 15, 13, 16); //直接傳參給Date()【推薦】 alert(box); //返回Mon Dec 05 2011 15:13:16 GMT+0800

?

二.通用的方法

與其他類型一樣,Date類型也重寫了toLocaleString()、toString()和valueOf()方法;但這些方法返回值與其他類型中的方法不同。

toLocaleString()方法,格式:2016/11/3 下午4:21:03,瀏覽器有的顯示不同

var box = new Date(); //獲取系統當前時間 alert(box.toLocaleString()); //將當前時間格式化,2016/11/3 下午4:21:03,瀏覽器有的顯示不同

toString()方法,格式:Thu Nov 03 2016 16:23:22 GMT+0800,返回國際時間格式

var box = new Date(); //獲取系統當前時間 alert(box.toString()); //將當前時間格式化,Thu Nov 03 2016 16:23:22 GMT+0800,給直接Date()一樣,說明默認調用了toString()方法

valueOf()方法,格式:1478162137197,返回毫秒數

var box = new Date(); //獲取系統當前時間 alert(box.valueOf()); //將當前時間格式化,1478162137197,返回毫秒數

PS:這兩個方法在不同瀏覽器顯示的效果又不一樣,但不用擔心,這兩個方法只是在調試比較有用,在顯示時間和日期上,沒什么價值。valueOf()方法顯示毫秒數。

?

三.日期格式化方法

Date類型還有一些專門用于將日期格式化為字符串的方法

toDateString()以特定的格式顯示星期幾、月、日和年/Thu Nov 03 2016

toTimeString()以特定的格式顯示時、分、秒和時區/16:45:47 GMT+0800

toLocaleDateString()以特定地區格式顯示、月、日和年/2016/11/3

toLocaleTimeString()以特定地區格式顯示時、分、秒和時區/下午4:49:03

toUTCString()以特定的格式顯示完整的UTC日期。/Thu, 03 Nov 2016 08:49:53 GMT

var box = new Date(); alert(box.toDateString()); //以特定的格式顯示星期幾、月、日和年/Thu Nov 03 2016 alert(box.toTimeString()); //以特定的格式顯示時、分、秒和時區/16:45:47 GMT+0800 alert(box.toLocaleDateString()); //以特定地區格式顯示、月、日和年/2016/11/3 alert(box.toLocaleTimeString()); //以特定地區格式顯示時、分、秒和時區/下午4:49:03 alert(box.toUTCString()); //以特定的格式顯示完整的UTC日期。/Thu, 03 Nov 2016 08:49:53 GMT

?

四.組件方法

組件方法,是為我們單獨獲取你想要的各種時間/日期而提供的方法。需要注意的時候,這些方法中,有帶UTC的,有不帶UTC的。UTC日期指的是在沒有時區偏差的情況下的日期值。

UTC的和不帶UTC的相差8個小時

getTime()獲取日期的毫秒數,和valueOf()返回一致/1478163539545

var box = new Date(); alert(box.getTime()); //獲取日期的毫秒數,和valueOf()返回一致/1478163539545

setTime()以毫秒數設置日期,會改變整個日期/1478163539545

var box = new Date(); alert(box.setTime(1478163539545)); //以毫秒數設置日期,會改變整個日期/1478163539545

getFullYear()獲取四位年份/2016

var box = new Date(); alert(box.getFullYear()); //獲取四位年份/2016

setFullYear()設置四位年份,返回的是毫秒數

var box = new Date(); alert(box.setFullYear(2012)); //設置四位年份,返回的是毫秒數/1351935497504

getMonth()獲取月份,沒指定月份,從0開始算起/11

var box = new Date(); alert(box.getMonth()+1); //獲取月份,沒指定月份,從0開始算起/11

setMonth()設置月份/返回毫秒1480758520312

var box = new Date(); alert(box.setMonth(11)); //設置月份/返回毫秒1480758520312

getDate()獲取日期3

var box = new Date(); alert(box.getDate()); //獲取日期3

setDate()設置日期,返回毫秒數/1478598717254

var box = new Date(); alert(box.setDate(8)); //設置日期,返回毫秒數/1478598717254

getDay()返回星期幾,0表示星期日,6表示星期六

var box = new Date(); alert(box.getDay()); //返回星期幾,0表示星期日,6表示星期六

setDay()設置星期幾返回毫秒數

var box = new Date(); alert(box.setDay()); //設置星期幾

getHours()返回時18

var box = new Date(); alert(box.getHours()); //返回時18

setHours()設置時返回毫秒1478145765552

var box = new Date(); alert(box.setHours(12)); //設置時返回毫秒1478145765552

getMinutes()返回分鐘/4

var box = new Date(); alert(box.getMinutes()); //返回分鐘/4

setMinutes()設置分鐘返回毫秒/1478168523941

var box = new Date(); alert(box.setMinutes(22)); //設置分鐘返回毫秒/1478168523941

getSeconds()返回秒數

var box = new Date(); alert(box.getSeconds()); //返回秒數

setSeconds()設置秒數返回毫秒

var box = new Date(); alert(box.setSeconds(44)); //設置秒數返回毫秒

getMilliseconds()返回毫秒數

var box = new Date(); alert(box.getMilliseconds()); //返回毫秒數607

setMilliseconds()設置毫秒數

var box = new Date(); alert(box.setMilliseconds(123)); //設置毫秒數

getTimezoneOffset()返回本地時間和UTC時間相差的分鐘數/-480

var box = new Date(); alert(box.getTimezoneOffset()); //返回本地時間和UTC時間相差的分鐘數/-480

PS:以上方法除了getTimezoneOffset(),其他都具有UTC功能,例如setDate()及getDate()獲取星期幾,那么就會有setUTCDate()及getUTCDate()。表示世界協調時間。?

也就是除了getTimezoneOffset()外,其他方法都有UTC功能,UTC表示世界協調時間,與我們的時間相差8個小時?,要使用UTC功能在方法里加上UTC即可? 如:

var box = new Date(); alert(box.getUTCHours()); //獲取UTC時間

用組件方式組合完整的時間【常用】

var box = new Date(); alert(box.getFullYear()+'-'+(box.getMonth()+1)+'-'+box.getDate()+' '+box.getHours()+':'+box.getMinutes()+':'+box.getSeconds()); //返回2016-11-3 18:40:22

?

轉載于:https://www.cnblogs.com/adc8868/p/6026565.html

總結

以上是生活随笔為你收集整理的第一百零四节,JavaScript时间与日期的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。