經常使用以下:html
var date = new Date();//中國標準時間 var year = date.getFullYear();//獲取完整的年份(4位) var month = date.getMonth();//獲取當前月份(0-11,0表明1月) var nowDate = date.getDate();//獲取當前日(1-31) var day = date.getDay();//獲取當前星期X(0-6,0表明星期天)
更多請點擊JavaScript 標準庫 Date或相關參考的第一篇Js獲取當前日期時間及其它操做。segmentfault
//格式化日期:yyyy-MM-dd function formatDate(date) { var myyear = date.getFullYear(); var mymonth = date.getMonth() + 1; var myweekday = date.getDate(); if (mymonth < 10) { mymonth = "0" + mymonth; } if (myweekday < 10) { myweekday = "0" + myweekday; } return (myyear + "-" + mymonth + "-" + myweekday);//想要什麼格式均可以隨便本身拼 } var date = new Date(); //date //Mon Jun 25 2018 15:32:38 GMT+0800 (中國標準時間) formatDate(date); //"2018-06-25"
或者 js標準時間格式化中@joy鈺的回答:this
function formatDate(dateArg) { const date = new Date(dateArg); const year = date.getFullYear(); const month = date.getMonth() + 1; const day = date.getDate(); const formatMonth = month < 10 ? `0${month}` : month; const formatDay = day < 10 ? `0${day}` : day; return `${year}-${formatMonth}-${formatDay}` }
//獲取當前日期 時間 function todayTime() { var date = new Date(); var curYear = date.getFullYear(); var curMonth = date.getMonth() + 1; var curDate = date.getDate(); if(curMonth<10){ curMonth = '0' + curMonth; } if(curDate<10){ curDate = '0' + curDate; } var curHours = date.getHours(); var curMinutes = date.getMinutes(); var curtime = curYear + ' 年 ' + curMonth + ' 月 ' + curDate +' 日' + curHours + '時 ' + curMinutes + '分 '; return curtime; }
//獲取當前日期 英文 function todayTimeEn() { var dt = new Date(); var m = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); mn = dt.getMonth(); dn = dt.getDate(); if(dn<10){ dn = '0' + dn; } var curtime = m[mn] + " " + dn + ", " + dt.getFullYear(); return curtime; }
Date.prototype.Format = function (fmt) { var o = { "M+": this.getMonth() + 1, // 月份 "d+": this.getDate(), // 日 "h+": this.getHours(), // 小時 "m+": this.getMinutes(), // 分 "s+": this.getSeconds(), // 秒 "q+": Math.floor((this.getMonth() + 3) / 3), // 季度 "S": this.getMilliseconds() // 毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "") .substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; }
使用方法:prototype
new Date().Format('yyyy-MM-dd hh:mm') //console.log打印結果: "2019-08-22 16:42" new Date().Format('yyyy.MM.dd hh:mm') //console.log打印結果: "2019.08.22 16:44" new Date().Format('yyyy-MM-dd') //console.log打印結果:"2019-08-22"
//近七天的日期 function setDate() { var now = new Date(); //一天的毫秒數 var millisecond = 1000 * 60 * 60 * 24; var end= new Date(now.getTime() - (7 * millisecond)); var beginDate = formatDate(now); var endDate = formatDate(end); console.log("beginDate:"+beginDate); console.log("endDate :"+endDate ); } //本週日期 (取週一爲第一天、週日爲最後一天) function weekDate() { var date = new Date(); var year = date.getFullYear(); var month = date.getMonth(); var nowDate = date.getDate(); var day = date.getDay(); var beginDate = new Date(year, month, nowDate - day + 1); var endDate = new Date(year, month, nowDate + (6 - day) + 1); beginDate = formatDate(beginDate); endDate = formatDate(endDate); console.log("beginDate:"+beginDate); console.log("endDate :"+endDate ); }
//本月日期 function monthDate() { var date = new Date(); var year = date.getFullYear(); var month = date.getMonth() + 1; if (month < 10) { month = "0" + month; } var day = getDaysInOneMonth(year, month); var beginDate = year + "-" + month + "-01"; var endDate = year + "-" + month + "-" + day; console.log("beginDate:"+beginDate); console.log("endDate :"+endDate ); } //獲取某月天數 function getDaysInOneMonth(year, month) { month = parseInt(month, 10); var d = new Date(year, month, 0); return d.getDate(); }
// 獲取AddDayCount天后的日期,例如 前天GetDateStr(-2)、昨天GetDateStr(-1)、今天GetDateStr(0)、明天GetDateStr(1)、後天GetDateStr(3)的日期 function GetDateStr(AddDayCount) { var dd = new Date(); dd.setDate(dd.getDate()+AddDayCount);//獲取AddDayCount天后的日期 var y = dd.getFullYear(); var m = dd.getMonth()+1;//獲取當前月份的日期 var d = dd.getDate(); return y+"-"+m+"-"+d; } console.log("前天:"+GetDateStr(-2)); console.log("昨天:"+GetDateStr(-1)); console.log("今天:"+GetDateStr(0)); console.log("明天:"+GetDateStr(1)); console.log("後天:"+GetDateStr(2)); console.log("大後天:"+GetDateStr(3));
上述方法,稍加修改,便可完成以下:code
// 獲取該date日期AddDayCount天后的日期 function GetDateCountStr(date, AddDayCount) { let dd = new Date(date); dd.setDate(dd.getDate() + AddDayCount);// 獲取AddDayCount天后的日期 let year = dd.getFullYear(); let month = dd.getMonth() + 1;// 獲取當前月份的日期 let day = dd.getDate(); if (month < 10) { month = '0' + month; } if (day < 10) { day = '0' + day; } return (year + '-' + month + '-' + day); }
使用:
例如
date的前天GetDateCountStr(date, -2)
date的昨天GetDateCountStr(date, -1)
date的今天GetDateCountStr(date,0)
date的明天GetDateCountStr(date,1)
date的後天GetDateCountStr(date,2)orm
function weeks_enddate(startdate,n){ var date = new Date(startdate); date.setTime(date.getTime() + 3600 * 1000 * 24 * 7 * n);//第n周,一、二、三、4..... return formatDate(date); } //示例: var startdate = '2018-06-27';//或者 var startdate= new Date()這樣寫也行的 var week_num = 2;//n是從1開始的整數便可 var enddate = weeks_enddate(startdate,week_num); console.log("enddate :"+enddate ); //enddate :2018-07-11
上述方法,稍加修改,便可完成以下:htm
//以週一爲一週的第一天算,獲取以開始日期所在周爲第一週算起的第n週週日的日期 function weeks_enddate(startdate,n){//startdate爲開始日期,第n周 var date = new Date(startdate); var year = date.getFullYear(); var month = date.getMonth(); var nowDate = date.getDate(); var day = date.getDay(); if(day > 0){ date = new Date(year, month, nowDate + (6 - day) + 1); } date.setTime(date.getTime() + 3600 * 1000 * 24 * 7 * (n-1));//第n周 return formatDate(date); } //示例: var startdate = '2018-08-10'; var n = 3;//第3周 weeks_enddate(startdate,n);//執行結果爲"2018-08-26",以開始日期所在周算爲第一週獲取第三週週日的日期 //示例: var startdate = '2018-08-10'; var n = 0; weeks_enddate(startdate,n);//執行結果爲"2018-08-05",上週日的日期 //示例: var startdate = '2018-08-10'; var n = -1; weeks_enddate(startdate,n);//執行結果爲"2018-07-29",上上週日的日期
function weekyCalendar(date) { var dateFlag = weeksEndDate(date, 1); // 獲取當前日期的下一個週日的日期 if (dateFlag == date) { // 直接獲取到當前date以前的七天 var daySun = GetDateCountStr(date, 0); var daySat = GetDateCountStr(date, 1); var dayFri = GetDateCountStr(date, 2); var dayThur = GetDateCountStr(date, 3); var dayWed = GetDateCountStr(date, 4); var dayTues = GetDateCountStr(date, 5); var dayMon = GetDateCountStr(date, 6); var days = [daySun, daySat, dayFri, dayThur, dayWed, dayTues, dayMon]; } else { // 獲取到dateFlag這個週日一週前的七天日期 var daySun = GetDateCountStr(dateFlag, -7); var daySat = GetDateCountStr(dateFlag, -6); var dayFri = GetDateCountStr(dateFlag, -5); var dayThur = GetDateCountStr(dateFlag, -4); var dayWed = GetDateCountStr(dateFlag, -3); var dayTues = GetDateCountStr(dateFlag, -2); var dayMon = GetDateCountStr(dateFlag, -1); var days = [daySun, daySat, dayFri, dayThur, dayWed, dayTues, dayMon]; } return days; }
示例:blog
var dates = weekyCalendar('2019-08-30'); console.log(dates); //(7) ["2019-08-25", "2019-08-26", "2019-08-27", "2019-08-28", "2019-08-29", "2019-08-30", "2019-08-31"] var dates = weekyCalendar('2019-08-25'); console.log(dates); //(7) ["2019-08-25", "2019-08-26", "2019-08-27", "2019-08-28", "2019-08-29", "2019-08-30", "2019-08-31"]