// 引入 moment 时间插件
import moment from 'moment'
moment.updateLocale('en', {
	week: {
		dow: 1, // 星期的第一天是星期一
		doy: 7 // 年份的第一周必须包含1月1日 (7 + 1 - 1)
	}
})
// 获取今日/昨日/本周/上周/本月/上月 时间
export default {
	// 获取今日的开始结束时间
	getToday() {
		const obj = {
			starttime: '',
			endtime: ''
		}
		obj.starttime = moment(moment().startOf('day').valueOf()).format('YYYY-MM-DD 00:00:00')
		obj.endtime = moment(moment().valueOf()).format('YYYY-MM-DD 23:59:59')
		return obj
	},
	
	// 获取今日的开始结束时间  年月日时分秒
	getTodayTime() {
		const obj = {
			starttime: '',
			endtime: ''
		}
		obj.starttime = moment(moment().startOf('day').valueOf()).format('YYYY-MM-DD HH:mm:ss')
		obj.endtime = moment(moment().valueOf()).format('YYYY-MM-DD HH:mm:ss')
		return obj
	},
	//  近7天
	getRecentday() {
		const obj = {
			starttime: '',
			endtime: ''
		}
		obj.starttime = moment().subtract('days', 6).format('YYYY-MM-DD 00:00:00')
		obj.endtime = moment(moment().valueOf()).format('YYYY-MM-DD 23:59:59')
		return obj
	},
	
	//  近7天  年月日时分秒
	getRecentTime() {
		const obj = {
			starttime: '',
			endtime: ''
		}
		obj.starttime = moment().subtract('days', 6).format('YYYY-MM-DD HH:mm:ss')
		obj.endtime = moment(moment().valueOf()).format('YYYY-MM-DD HH:mm:ss')
		return obj
	},
	//  近3天
	getThreeday() {
		const obj = {
			starttime: '',
			endtime: ''
		}
		obj.starttime = moment().subtract('days', 2).format('YYYY-MM-DD 00:00:00')
		obj.endtime = moment(moment().valueOf()).format('YYYY-MM-DD 23:59:59')
		return obj
	},
	// 获取昨日的开始结束时间
	getYesterday() {
		const obj = {
			starttime: '',
			endtime: ''
		}
		obj.starttime = moment().subtract(1, 'days').format('YYYY-MM-DD 00:00:00')
		obj.endtime = moment().subtract(1, 'days').format('YYYY-MM-DD 23:59:59')
		return obj
	},
	// 获取当前周的开始到当天结束时间
	getCurrWeekDays() {
		const obj = {
			starttime: '',
			endtime: ''
		}
		obj.starttime = moment(moment().week(moment().week()).startOf('week').add('days').valueOf()).format(
			'YYYY-MM-DD 00:00:00')
		obj.endtime = moment(moment().valueOf()).format('YYYY-MM-DD 23:59:59')
		return obj
	},
	// 获取上一周的开始结束时间
	getLastWeekDays() {
		const obj = {
			starttime: '',
			endtime: ''
		}
		obj.starttime = moment(moment().week(moment().week() - 1).startOf('week').add('days').valueOf()).format(
			'YYYY-MM-DD 00:00:00')
		obj.endtime = moment(moment().week(moment().week() - 1).endOf('week').add('days').valueOf()).format(
			'YYYY-MM-DD 23:59:59')
		return obj
	},
	
	// 获取上一月的今天到当月的今天
	getCurrMonthDays() {
		const obj = {
			starttime: '',
			endtime: ''
		}
		obj.starttime = moment(moment().month(moment().month() - 1).valueOf()).format('YYYY-MM-DD 00:00:00')
		obj.endtime = moment(moment().valueOf()).format('YYYY-MM-DD 23:59:59')
		return obj
	},
	// 获取当前月的开始到当天结束时间
	getCurrLastMonthDays() {
		const obj = {
			starttime: '',
			endtime: ''
		}
		obj.starttime = moment(moment().month(moment().month()).startOf('month').valueOf()).format(
			'YYYY-MM-DD 00:00:00')
		obj.endtime = moment(moment().valueOf()).format('YYYY-MM-DD 23:59:59')
		return obj
	},
	// 获取上一个月的开始结束时间
	getLastMonthDays() {
		const obj = {
			starttime: '',
			endtime: ''
		}
		obj.starttime = moment(moment().month(moment().month() - 1).startOf('month').valueOf()).format(
			'YYYY-MM-DD 00:00:00')
		obj.endtime = moment(moment().month(moment().month() - 1).endOf('month').valueOf()).format(
			'YYYY-MM-DD 23:59:59')
		return obj
	},
	// 获取三月前的今天到当月的今天
	getThreeMonthDays() {
		const obj = {
			starttime: '',
			endtime: ''
		}
		obj.starttime = moment(moment().month(moment().month() - 3).valueOf()).format('YYYY-MM-DD 00:00:00')
		obj.endtime = moment(moment().month(moment().month() - 3).endOf('month').valueOf()).format(
			'YYYY-MM-DD 23:59:59')
		return obj
	},
	// 获取近三个月的开始结束时间
	getThreeMonthCurrDays() {
		const obj = {
			starttime: '',
			endtime: ''
		}
		obj.starttime = moment(moment().month(moment().month() - 2).startOf('month').valueOf()).format(
			'YYYY-MM-DD 00:00:00')
		obj.endtime = moment(moment().month(moment().month() - 2).endOf('month').valueOf()).format(
			'YYYY-MM-DD 23:59:59')
		return obj
	},
	// 获取当前日期前7天日期集合
	getWeekGather() {
		let newDate = new Date(); //获取今天日期
		newDate.setDate(newDate.getDate() - 6); //获取7天前的日期
		let dateArray = [];
		let dateTemp;
		let flag = 1;
		for (let i = 0; i < 7; i++) {
			dateTemp = (newDate.getMonth() + 1) + "." + newDate.getDate();
			dateArray.unshift(dateTemp);
			newDate.setDate(newDate.getDate() + flag);
		}
		return dateArray;
	},
	// 获取当前日期前6月集合
	getMonthGather() {
		let newDate = new Date(); //获取今天日期
		let year = newDate.getFullYear()
		let month = newDate.getMonth() + 1
		let newYear = 0
		let newMonth = 0
		let monthArray = []
		for (let i = 0; i < 6; i++) { //这里是获取前六个月,所以循环6次,根据需要修改
			if (month - i < 1) { //这里的判断是如果当前月份往前推到了去年需要做的处理
				newYear = year - 1
				newMonth = month - i + 12 >= 10 ? month - i + 12 : '0' + (month - i + 12)
				monthArray.push(newYear + '.' + newMonth) //这里拼接格式化,在时间中间加了个-,根据实际需求来
			} else {
				newMonth = month - i >= 10 ? month - i : '0' + (month - i) //这里是对月份小于10做加前面加0处理
				monthArray.push(year + '.' + newMonth)
			}
		}
		return monthArray;
	},
	//根据所传日期获取当前时间
	getFullToday(dateInfo) {
		const obj = {
			starttime: '',
			endtime: ''
		}
		let date_info=moment().year()+'-'+dateInfo;
		obj.starttime = moment(date_info.replace('.','-')).startOf("day").format('YYYY-MM-DD 00:00:00')
		obj.endtime =moment(date_info.replace('.','-')).endOf("day").format('YYYY-MM-DD 23:59:59')
		return obj
	},
	//根据所传日期获取当前月份第一天和最后一天
	  getFullMonth (month) {
		const obj = {
		  starttime: '',
		  endtime: ''
		}
		obj.starttime = moment(month.replace('.','-')).startOf("month").format('YYYY-MM-DD 00:00:00')
		obj.endtime = moment(month.replace('.','-')).endOf("month").format('YYYY-MM-DD 23:59:59')
		return obj
	  },
	  // 获取今日/昨日/本周/上周/本月/上月 年月日时间
	  getTodayInfo() {
	  	const date = moment(moment().startOf('day').valueOf()).format('YYYY年MM月DD日')
	  	return date
	  },
	  getYesterdayInfo() {
	  	const date = moment().subtract(1, 'days').format('YYYY年MM月DD日')
	  	return date
	  },
	  getCurrWeekDaysInfo() {
	  	const starttime = moment(moment().week(moment().week()).startOf('week').add('days').valueOf()).format(
	  		'YYYY年MM月DD日')
	  	const endtime = moment(moment().valueOf()).format('YYYY年MM月DD日')
	  	return starttime+ '至'+endtime
	  },
	  getLastWeekDaysInfo() {
	  	const starttime = moment(moment().week(moment().week() - 1).startOf('week').add('days').valueOf()).format(
	  		'YYYY年MM月DD日')
	  	const endtime = moment(moment().week(moment().week() - 1).endOf('week').add('days').valueOf()).format(
	  		'YYYY年MM月DD日')
	  	return starttime+ '至'+endtime
	  },
	  getCurrLastMonthDaysInfo() {
	  const date = moment(moment().month(moment().month()).startOf('month').valueOf()).format(
	  		'YYYY年MM月')
	  	return date
	  },
	  getLastMonthDaysInfo() {
	  	const date= moment(moment().month(moment().month() - 1).startOf('month').valueOf()).format(
	  		'YYYY年MM月')
	  	return date
	  },
	  editDay(start,end){
		  const obj = {
		    starttime: '',
		    endtime: ''
		  }
		  obj.starttime = moment(start).format('YYYY年MM月DD日')
		  obj.endtime =moment(end).format('YYYY年MM月DD日')
		  return obj 
	  }
	}
	