1、js獲取當前日期(yyyy-mm-dd)
以下代碼是獲取到的當前日期:
1 var myDate = new Date(); 2 var year = myDate.getFullYear(); //獲取完整的年份(4位,1970-????) 3 var month = myDate.getMonth()+1; //獲取當前月份(1-12) 4 var day = myDate.getDate(); //獲取當前日(1-31) 5 //獲取完整年月日 6 var newDay = year + “-” + month + “-” + day;
2、點擊實現日期的天數加減(yyyy-mm-dd)
點擊倆個按鈕分別可以實現日期的加減,如果本月天數達到最多,那么月份將會自動增加或減少
1 var n = 0; 2 dayChange(0) 3 $("#time-add").click(function(){ 4 n++; 5 dayChange(n); 6 }) 7 $("#time-less").click(function(){ 8 n--; 9 dayChange(n); 10 }) 11 function dayChange(n){ 12 var now = new Date();//今天 13 var tomo = new Date((now/1000+86400*n)*1000);//明天 14 var month = tomo.getMonth() + 1; 15 var strDate = tomo.getDate(); 16 var seperator1 = "-"; 17 if (month >= 1 && month <= 9) { 18 month = "0" + month; 19 } 20 if (strDate >= 0 && strDate <= 9) { 21 strDate = "0" + strDate; 22 } 23 var currentdate = tomo.getFullYear() + seperator1 + month + seperator1 + strDate; 24 $(".center-day").html(currentdate); 25 }
3、獲取當前本周周一和本周周日的時間范圍
不管當前是周幾,都可以獲取到當前所在這一周的起始時間
1 var now = new Date();//今天 2 week(now); 3 function week(now){ 4 var nowTime = now.getTime() ; 5 var day = now.getDay(); 6 var oneDayLong = 24*60*60*1000 ; 7 //獲取本周所在周一 8 var MondayTime = nowTime - (day-1)*oneDayLong ; 9 //獲取本周所在周末 10 var SundayTime = nowTime + (7-day)*oneDayLong ; 11 //轉化日期 12 var monday = new Date(MondayTime); 13 var sunday = new Date(SundayTime); 14 var month = monday.getMonth() + 1; 15 var strDate = monday.getDate(); 16 var month1 = sunday.getMonth() + 1; 17 var strDate1 = sunday.getDate(); 18 if (month >= 1 && month <= 9) { 19 month = "0" + month; 20 } 21 if (month1 >= 1 && month1 <= 9) { 22 month1 = "0" + month1; 23 } 24 if (strDate >= 0 && strDate <= 9) { 25 strDate = "0" + strDate; 26 } 27 if (strDate1 >= 0 && strDate1 <= 9) { 28 strDate1 = "0" + strDate1; 29 } 30 currentdate = monday.getFullYear() + seperator1 + month + seperator1 + strDate + "至" + sunday.getFullYear() + seperator1 + month1 + seperator1 + strDate1; 31 $(".center-day").html(currentdate); 32}
4、點擊實現每周范圍的變化
點擊改變的按鈕將會改變顯示一周范圍的改變,如果有的在下一月或者下一年,那么將會自動顯示,不會出現錯誤
1 var now = new Date();//今天 2 var n = 0; 3 week(now); 4 $("#week-add").click(function(){ 5 n++; 6 var date = new Date(now.getTime() + n*7*24*3600*1000); 7 week(date); 8 }) 9 $("#week-add").click(function(){ 10 n--; 11 var date = new Date(now.getTime() + n*7*24*3600*1000); 12 week(date); 13 }) 14 function week(now){ 15 var nowTime = now.getTime() ; 16 var day = now.getDay(); 17 var oneDayLong = 24*60*60*1000 ; 18 //獲取本周所在周一 19 var MondayTime = nowTime - (day-1)*oneDayLong ; 20 //獲取本周所在周末 21 var SundayTime = nowTime + (7-day)*oneDayLong ; 22//轉化日期 23 var monday = new Date(MondayTime); 24 var sunday = new Date(SundayTime); 25 var month = monday.getMonth() + 1; 26 var strDate = monday.getDate(); 27 var month1 = sunday.getMonth() + 1; 28 var strDate1 = sunday.getDate(); 29 if (month >= 1 && month <= 9) { 30 month = "0" + month; 31 } 32 if (month1 >= 1 && month1 <= 9) { 33 month1 = "0" + month1; 34 } 35 if (strDate >= 0 && strDate <= 9) { 36 strDate = "0" + strDate; 37 } 38 if (strDate1 >= 0 && strDate1 <= 9) { 39 strDate1 = "0" + strDate1; 40 } 41 currentdate = monday.getFullYear() + seperator1 + month + seperator1 + strDate + "至" + sunday.getFullYear() + seperator1 + month1 + seperator1 + strDate1; 42 $(".center-day").html(currentdate); 43 }
5、獲取當前月份的第一天和最后一天
能夠獲取到當前所在月份的第一天和最后一天,最后一天的日期是不固定的,能夠獲取到應有的日期
1 monthfen(0) 2 function monthfen(n){ 3 var now = new Date();//今天 4 var firstDate = new Date((now/1000+86400*n*now.getDate())*1000);//明天 5 //本月第一天 6 firstDate.setDate(1); //第一天 7 var date = new Date(firstDate); 8 var month = date.getMonth() + 1; 9 var strDate = "0" + date.getDate(); 10 //本月最后一天 11 var endDate = new Date(firstDate); 12 endDate.setMonth(firstDate.getMonth()+1); 13 endDate.setDate(0); 14 var date1 = new Date(endDate); 15 var month1 = date1.getMonth() + 1; 16 var strDate1 = date1.getDate(); 17 if (month >= 1 && month <= 9) { 18 month = "0" + month; 19 } 20 if (month1 >= 1 && month1 <= 9) { 21 month1 = "0" + month1; 22 } 23 currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate + "至" + date1.getFullYear() + seperator1 + month1 + seperator1 + strDate1; 24 $(".center-day").html(currentdate); 25 }
6、點擊實現當前月份的改變
點擊按鈕會實現當前月份的改變,那么最后一天的日期也會自動改變,
1 monthfen(0) 2 var n = 0; 3 $("#month-add").click(function(){ 4 n++; 5 monthfen(n); 6 }) 7 $("#month-less").click(function(){ 8 n--; 9 monthfen(n); 10 }) 11 function monthfen(n){ 12 var now = new Date();//今天 13 var firstDate = new Date((now/1000+86400*n*now.getDate())*1000);//明天 14 //本月第一天 15 firstDate.setDate(1); //第一天 16 var date = new Date(firstDate); 17 var month = date.getMonth() + 1; 18 var strDate = "0" + date.getDate(); 19 //本月最后一天 20 var endDate = new Date(firstDate); 21 endDate.setMonth(firstDate.getMonth()+1); 22 endDate.setDate(0); 23 var date1 = new Date(endDate); 24 var month1 = date1.getMonth() + 1; 25 var strDate1 = date1.getDate(); 26 if (month >= 1 && month <= 9) { 27 month = "0" + month; 28 } 29 if (month1 >= 1 && month1 <= 9) { 30 month1 = "0" + month1; 31 } 32 currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate + "至" + date1.getFullYear() + seperator1 + month1 + seperator1 + strDate1; 33 $(".center-day").html(currentdate); 34 }

當然還有很多關於日期格式的改變和算法,如果有什么不理解的可以留下評論,大家一起探討。