国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

JavaScript內置對象--Date類型詳解

2024-04-27 15:03:32
字體:
來源:轉載
供稿:網友

一、Date類型基本介紹

ECMAScript中的Date類型是在早期java中的java.util.Date類基礎上構建的。為此,Date類型使用自UTC(Coordinated Universal Time,國際協調時間) 1970年1月1日午夜(零時)開始經過的毫秒數來保存日期。在使用這種數據存儲格式的條件下,Date類型保存的日期能夠精確到1970年1月1日之前或之后的100000000年,在JS中,Date類型是JS內置對象的其中一種,封裝了一個日期,并提供對日期執行的API,今后只要保存或者操作日期都要用Date對象

二、如何創建

1.獲得客戶端當前的系統時間:var now  = new Date();      //2017年2月3日14:53:322.創建日期對象保存自定義時間var date1 = new Date("yyyy/MM/dd hh:mm:ss");   //如: 2004-05-25  00:00:00var date2 = new Date("月/日/年");   //如: 6/13/2004var date3 = new Date("英文月名/日/年");  //如: January 12,2004  var date4 = new Date("英文星期幾英文月名日 年 時 : 分 : 秒 時區");  //如Tue May 25 2004 00:00:00 GMT-07003.復制一個日期 為什么: 日期的計算都直接修改原日期對象,舊時間無法保存何時: 如果需要同時保存計算前后的兩個時間時,就必須將原日期復制一個副本再計算。如何: var date1 = new Date();   var date2=new Date(date1)   date1是原始時間, date2是復制了date1的時間4. 直接用毫秒數創建日期對象:var date=new Date(ms)原理: Date對象中保存的是1970年1月1日0點至今的毫秒數 

三、日期的單位及范圍

年FullYear (無范圍)  月Month (0~11, 0開始,沒有12)   日Date   (1~31, 和現實生活一樣)     星期Day  (0~6, 0是星期日,沒有7)時Hours   (0~23. 0開始,沒有24)分Minutes (0~59)秒Seconds  (0~59)毫秒MilliSeconds

四、getXXX/setXXX方法

每個單位都有一對兒getXXX/setXXX方法          getXXX()方法負責讀取指定分量的值:            比如: date.getDate(); //獲得幾號          setXXX(n) 方法負責修改指定分量的值:             比如: date.setDate(10); //修改date的日期為10號          特例: Day沒有set方法,因為星期只讀,不可改

五、日期計算(含一個小例子)

日期計算就是兩個日期時間的相加減,獲得毫秒差步驟分為三步:1. 取分量: var n=date.getXXX();2. 做加減: n+=?;3. 放回去; date.setXXX(n);特點: 1. 自動調整進制2. 直接修改原日期對象簡化版: date.setXXX(date.getXXX()+n)一段小程序:某公司員工入職時間為2012/6/30 ,入職后簽訂合同時間為3年, 3年后需要重新簽訂勞動合同,簽訂合同的時間是3年后的前一個月,且必須是工作日(周一到周五), 如果3年后的前一個月是周六,則提前一天簽訂合同,如果是周日,則提前兩天簽訂合同,3年后的前一個月簽訂合同的之前必須提前一周(7天)提醒員工,以防出差等情況。代碼如下:
			//定義入職時間hiredate: 2012/6/30			var hiredate=new Date("2012/6/30");			//復制入職時間為到期時間enddate			var enddate=new Date(hiredate);			//將enddate+3年			enddate.setFullYear(enddate.getFullYear()+3);			//復制到期時間為續簽時間renewdate			var renewdate=new Date(enddate);			//將renewdate-1月			renewdate.setMonth(renewdate.getMonth()-1);			//如果renewdate是周六:			if(renewdate.getDay()==6){				//renewdate-1天				renewdate.setDate(renewdate.getDate()-1);			}else if(renewdate.getDay()==0){			//否則,如果renewdate是周日:				//renewdate-2天				renewdate.setDate(renewdate.getDate()-2);			}			//復制續簽時間為提醒時間alertdate			var alertdate=new Date(renewdate);			//將alertdate-7天			alertdate.setDate(alertdate.getDate()-7);			console.log("到期時間"+enddate);			console.log("續簽時間"+renewdate);			console.log("提醒時間"+alertdate);執行結果如下:這段小例子很經典,和我們工作息息相關,需要注意的幾個地方:1.在做日期計算的時候必須先復制一個日期,因為日期計算會直接修改原始日期對象2.getXXX方法可以獲取日期單位的任一一個分量值3.日期計算得到的結果是毫秒值,經過sexXXX方法后會自動調整進制,不需要手動調整

六、轉換字符串

.toString() -> 轉為中國標準時間(+8區).toLocaleString() -> 轉為系統當前時間格式.toLocaleDateString -> 轉為系統當前時間格式.toLocaleTimeString -> 轉為系統當前時間格式,僅包含時間部分.toGMTString() -> 轉為國際標準時間(0時區)最后,需要講的是,Date類型還有一些零零碎碎的API沒有講,但是個人認為,以上的東西足夠在開發中使用了,需要深入學習的可以自己去學,謝謝~~
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 赫章县| 师宗县| 田阳县| 驻马店市| 高州市| 石景山区| 济阳县| 芦山县| 平定县| 合山市| 都匀市| 靖边县| 贵州省| 大悟县| 磴口县| 沽源县| 兴文县| 永顺县| 奉贤区| 延川县| 湖口县| 大同市| 潞城市| 巴林右旗| 三亚市| 西华县| 攀枝花市| 泸西县| 全南县| 化德县| 中西区| 贵南县| 潞西市| 温州市| 宣武区| 桐乡市| 依兰县| 莒南县| 马山县| 昭通市| 米泉市|