调用函数
this.getAttenData('2022-07-19')
函数
getAttenData(checkdate){
//获取年
var checkdateYear = checkdate.slice(0,4)
//获取月
var checkdateMonth = checkdate.slice(5,7)
//转换成标准时间
var nowDate = new Date(checkdate);
// 获取本月最后一天
var endOfMonth = new Date(checkdateYear,checkdateMonth, 0).getDate();
//当月第一天
//setDate()函数:设置一个月的某一天。返回值是调整过的日期的毫秒表示
var startDate = this.getFullDate(nowDate.setDate(1));
//当月最后一天
var endDate = this.getFullDate(nowDate.setDate(endOfMonth));
// 日期
var newDays = "";
var checkdate="";
var params = [];
for(var d=0; d<endOfMonth;d++){
var obj={};
var newDay = d+1;
newDays = newDay < 10 ? String("0" + newDay) : newDay;
checkdate = checkdateYear+'-'+checkdateMonth+'-'+newDays;
obj["scheduleData"] = checkdate
params.push(obj);
};
console.log(params)
}
毫秒转日期函数
getFullDate(targetDate) {
var D, y, m, d;
if (targetDate) {
D = new Date(targetDate);
y = D.getFullYear();
m = D.getMonth() + 1;
d = D.getDate();
} else {
y = fullYear;
m = month;
d = date;
}
m = m > 9 ? m : '0' + m;
d = d > 9 ? d : '0' + d;
return y + '-' + m + '-' + d;
}
标准时间转日期
1.不兼容IE
nowDateFun(){
var dateStr = this.dateFormat('YYYY-mm-dd HH:MM:SS', 'Wed Aug 03 2022 09:36:47 GMT+0800 (中国标准时间)')
console.log(dateStr)
},
dateFormat(fmt, date) {
let ret = ''
date = new Date(date)
const opt = {
'Y+': date.getFullYear().toString(), // 年
'm+': (date.getMonth() + 1).toString(), // 月
'd+': date.getDate().toString(), // 日
'H+': date.getHours().toString(), // 时
'M+': date.getMinutes().toString(), // 分
'S+': date.getSeconds().toString() // 秒
// 有其他格式化字符需求可以继续添加,必须转化成字符串
}
for (let k in opt) {
ret = new RegExp('(' + k + ')').exec(fmt)
if (ret) {
fmt = fmt.replace(
ret[1],
ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
)
}
}
return fmt
},
2.兼容IE
dateFormat(fmt,date){
var d = new Date();
date=date.toString();
if(date){
if(date.indexOf('T')==-1){
try {
date=date.replace(/-/g,"/"); //为了兼容IE
} catch (error) {
// console.error('timeFormatSeconds==',error)
}
}
d = new Date(date);
}
var year = d.getFullYear();
var month = d.getMonth() + 1;
var day = d.getDate();
var hours = d.getHours();
var min = d.getMinutes();
var seconds = d.getSeconds();
if (month < 10) month = '0' + month;
if (day < 10) day = '0' + day;
if (hours < 0) hours = '0' + hours;
if (min < 10) min = '0' + min;
if (seconds < 10) seconds = '0' + seconds;
const opt = {
'Y+': year.toString(), // 年
'm+': month.toString(), // 月
'd+': day.toString(), // 日
'H+': hours.toString(), // 时
'M+': min.toString(), // 分
'S+': seconds.toString() // 秒
}
console.log(opt)
let ret = "";
for (let k in opt) {
console.log(k)
ret = new RegExp('(' + k + ')').exec(fmt)
console.log(ret)
if (ret) {
fmt = fmt.replace(
ret[1],
ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
)
}
}
return fmt
},
日期转毫秒
nowDateFun(){
var dateStr = new Date("2018/07/09 14:13:11").getTime()
console.log(dateStr)
},
两个日期时间的比较方法
第一种两个日期转换成毫秒
nowDateFun(){
var startTime = '2018-07-09 14:13:11'
var endTime = '2018-08-09 14:13:11'
startTime = new Date(startTime).getTime()
endTime = new Date(endTime).getTime()
if(startTime>endTime){
console.log('1')
}else{
console.log('2')
}
},
第二种方法日期和时间去掉特殊字符
nowDateFun(){
var start= '2018-07-09 14:13:11'
var end = '2018-08-09 14:13:11'
var startDate = start.slice(0,10).replace(/-/g,"")
var startTime = start.slice(11,18).replace(/:/g,"")
var endDate = end.slice(0,10).replace(/-/g,"")
var endTime = end.slice(11,18).replace(/:/g,"")
start = startDate + startTime
end = endDate + endTime
if(start>end){
console.log('1')
}else{
console.log('2')
}
console.log(start,end)
},
日期增加一天:
var dateValue = '2022-09-05 16:18:28'
//转换成时区时间
var newDateTime=new Date(dateValue)
//增加一天
newDateTime=newDateTime.setDate(newDateTime.getDate()+1);
newDateTime=new Date(newDateTime);
//转换时间
//调用时间转换函数this.dateFormat 在上面有时间转换函数
newDateTime = this.dateFormat('YYYY-mm-dd HH:MM:SS', newDateTime)
console.log(newDateTime)
日期减少一天
var dateValue = '2022-09-05 16:18:28'
//转换成时区时间
var newDateTime=new Date(dateValue)
//增加一天
newDateTime=newDateTime.setDate(newDateTime.getDate()+1);
newDateTime=new Date(newDateTime);
//转换时间
//调用时间转换函数this.dateFormat 在上面有时间转换函数
newDateTime = this.dateFormat('YYYY-mm-dd HH:MM:SS', newDateTime)
console.log(newDateTime)