date代表指定日期,格式:2018-09-27
day代表天数,-1代表前一天,1代表后一天
// date 代表指定的日期,格式:2018-09-27// day 传-1表始前一天,传1表始后一天// JS获取指定日期的前一天,后一天functiongetNextDate(date, day){var dd =newDate(date);
dd.setDate(dd.getDate()+ day);var y = dd.getFullYear();var m = dd.getMonth()+1<10?"0"+(dd.getMonth()+1): dd.getMonth()+1;var d = dd.getDate()<10?"0"+ dd.getDate(): dd.getDate();return y +"-"+ m +"-"+ d;};
获取当前时间
functiongetNowTime(){var date =newDate();varY= date.getFullYear()+'-';varM=(date.getMonth()+1<10?'0'+(date.getMonth()+1): date.getMonth()+1)+'-';varD= date.getDate()<10?'0'+date.getDate()+' ': date.getDate()+' ';var h = date.getHours()<10?'0'+ date.getHours()+':': date.getHours()+':';var m = date.getMinutes()<10?'0'+ date.getMinutes()+':': date.getMinutes()+':';var s = date.getSeconds()<10?'0'+ date.getSeconds()+':': date.getSeconds();returnY+M+D+ h + m + s;}
获取指定日期的前7天连续日期
今天:getDateStr(0)昨天:getDateStr(-1)明天:getDateStr(1)functiongetDateStr(AddDayCount){var now =newDate();
now.setDate(now.getDate()+ AddDayCount);//获取AddDayCount天后的日期var year = now.getFullYear();//得到年份var month = now.getMonth();//得到月份var date = now.getDate();//得到日期var day = now.getDay();//得到周几var hour = now.getHours();//得到小时var minu = now.getMinutes();//得到分钟var sec = now.getSeconds();//得到秒
month = month +1;if(month <10) month ="0"+ month;if(date <10) date ="0"+ date;if(hour <10) hour ="0"+ hour;if(minu <10) minu ="0"+ minu;if(sec <10) sec ="0"+ sec;var time ="";return time = year +"-"+ month +"-"+ date +" "+" "+ hour +":"+ minu +":"+ sec;}
时间转化成时间戳
var startT =newDate("2020-05-08 00:00:00");var startStamp = startT.getTime();
时间戳转化成时间
functiontimestampToTime(timestamp){if(timestamp.length ==10){
timestamp = timestamp *1000}var date =newDate(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000varY= date.getFullYear()+'-';varM=(date.getMonth()+1<10?'0'+(date.getMonth()+1): date.getMonth()+1)+'-';varD= date.getDate()<10?'0'+date.getDate()+' ': date.getDate()+' ';var h = date.getHours()<10?'0'+ date.getHours()+':': date.getHours()+':';var m = date.getMinutes()<10?'0'+ date.getMinutes()+':': date.getMinutes()+':';var s = date.getSeconds()<10?'0'+ date.getSeconds(): date.getSeconds();returnY+M+D+ h + m + s;}
js把字符串(yyyymmdd)转换成日期格式(yyyy-mm-dd)
var r="20112233".replace(/^(\d{4})(\d{2})(\d{2})$/,"$1-$2-$3")
console.log(r)let pattern =/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/;let timeStr =('20211104123000').replace(pattern,'$1-$2-$3 $4:$5:00');
console.log(timeStr);
自定义格式 date:时间戳 ,fmt:YYYY-MM-DD HH:mm:ss 格式
varDateToformatDate=(date, fmt)=>{//按格式返回当前时间if(fmt ==''|| fmt ==null){
fmt ='YYYY-MM-DD';}if(date ==''|| date ==null){
date =newDate();}else{if(Object.prototype.toString.call(date)!=='[object Date]'){
date =newDate(date);}}var o ={"M+": date.getMonth()+1,//月份"D+": date.getDate(),//日"H+": date.getHours(),//时"m+": date.getMinutes(),//分"s+": date.getSeconds(),//秒};if(/(Y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1,(date.getFullYear()+"").substr(4- RegExp.$1.length));for(var k in o)if(newRegExp("("+ k +")").test(fmt)) fmt = fmt.replace(RegExp.$1,(RegExp.$1.length ==1)?(o[k]):(("00"+ o[k]).substr((""+ o[k]).length)));return fmt;};
console.log(DateToformatDate("","YYYY年MM月DD日HH:mm"))
console.log(DateToformatDate("","YYYY-MM-DD HH:mm:ss"))
/***参数都是以周一为基准的***///上周的开始时间
console.log(getTime(7));//上周的结束时间
console.log(getTime(1));//本周的开始时间
console.log(getTime(0));//本周的结束时间
console.log(getTime(-6));functiongetTime(n){var now =newDate();var year = now.getFullYear();//因为月份是从0开始的,所以获取这个月的月份数要加1才行var month = now.getMonth()+1;var date = now.getDate();var day = now.getDay();//判断是否为周日,如果不是的话,就让今天的day-1(例如星期二就是2-1)if(day !==0){
n = n +(day -1);}else{
n = n + day;}if(day){//这个判断是为了解决跨年的问题if(month >1){
month = month;}//这个判断是为了解决跨年的问题,月份是从0开始的else{
year = year -1;
month =12;}}
now.setDate(now.getDate()- n);
year = now.getFullYear();
month = now.getMonth()+1;
date = now.getDate();
s = year +"年"+(month <10?('0'+ month): month)+"月"+(date <10?('0'+ date): date)+"日";return s;}
获取上月的第一天和最后一天
functiongetLastDate(type){//type:first,上月第一天,last,上月最后一天var nowdays =newDate();var year = nowdays.getFullYear();var month = nowdays.getMonth();if(month ==0){
month =12;
year = year -1;}if(month <10){
month ='0'+ month;}var myDate =newDate(year, month,0);var startDate = year +'-'+ month +'-01 00:00:00';//上个月第一天var endDate = year +'-'+ month +'-'+ myDate.getDate()+' 23:59:00';//上个月最后一天if(type =="first"){return startDate
}elseif(type =="last"){return endDate
}}
functiongetDayAll(starDay, endDay){var arr =[];var dates =[];// 设置两个日期UTC时间var db =newDate(starDay);var de =newDate(endDay);// 获取两个日期GTM时间var s = db.getTime()-24*60*60*1000;var d = de.getTime()-24*60*60*1000;// 获取到两个日期之间的每一天的毫秒数for(var i = s; i <= d;){
i = i +24*60*60*1000;
arr.push(parseInt(i))}// 获取每一天的时间 YY-MM-DDfor(var j in arr ){var time =newDate(arr[j]);var year = time.getFullYear(time);var mouth =(time.getMonth()+1)>=10?(time.getMonth()+1):('0'+(time.getMonth()+1));var day = time.getDate()>=10?time.getDate():('0'+time.getDate());varYYMMDD= year +'-'+ mouth +'-'+ day;
dates.push(YYMMDD)}return dates
}var dataAll =getDayAll('2020-01-01','2020-02-01');
console.log(dataAll)