//定義入職時間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沒有講,但是個人認為,以上的東西足夠在開發中使用了,需要深入學習的可以自己去學,謝謝~~
新聞熱點
疑難解答