| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 | //获取年export const getYears = (start,end)=>{	const years = [];	while(start <= end){		years.push(start);		++start;		}	return years;}//获取月export const getMonths = ()=>{	let index = 1;	const months = [];	while(index <= 12){		if(index < 10){			months.push('0'+index);		}else{			months.push(index);		}		++index;		}	return months;}//获取日export const getDays = (year,month)=>{	const days = [];	//获取当月有几天	const count = new Date(year,month,0).getDate();	let index = 1;	while(index <= count){		if(index < 10){			days.push('0'+index);		}else{			days.push(index);		}		++index;		}	return days;}//获取小时export const getHours = ()=>{	return createArray(24);}//获取分钟export const getMinutes = ()=>{	return createArray(60);}//获取秒export const getSeconds = ()=>{	return createArray(60);}//根据日期获取年月日时分秒export const getDateTime = (date)=>{	const year = date.getFullYear();	const month = date.getMonth()+1;	const day = date.getDate();	const hour = date.getHours();	const minute = date.getMinutes();	const second = date.getSeconds();	return [String(year),String(addZero(month)),String(addZero(day)),String(addZero(hour)),String(addZero(minute)),String(addZero(second))];}export const getDateStringTime = (dateString)=>{	return dateString.split('-').map(item=>addZero(item)).join('-')}//创建确定长度的数组export const createArray = count =>{	return Array.from({length: count},(value,index)=>addZero(index))}//<10的数前面加0export const addZero = (num)=>{	return num < 10 ? '0'+num : num;}/** *  YYYY 2020 * 	MM   01-12 * 	DD   01-31 * 	HH	 01-24 * 	mm   00-59 * 	ss   00-59 * 	根据传入的时间数组和类型转化为不同格式的时间字符串 */export const formateTime = (array, type)=>{		const types = [			"YYYY",			"YYYY-MM",			"YYYY-MM-DD",			"YYYY-MM-DD HH:mm",			"YYYY-MM-DD HH:mm:ss",		];		const index = types.findIndex((item) => item === type);		if (index > -1) {			const len = index;			if (len > 2) {				array.length = len + 2;				return `${array.slice(0, 3).join("-")} ${array.slice(3).join(":")}`;			} else {				array.length = len + 1;				return `${array.slice(0, 3).join("-")}`;			}		}		return "";	}/** * 古时十二时辰 */	export const chinaHours = [		{			name: ' 子时',			startTime: '23:00:00',			endTime: '00:59:59',		},		{			name: '丑时',			startTime: '01:00:00',			endTime: '02:59:59',		},		{			name: '寅时',			startTime: '03:00:00',			endTime: '04:59:59',		},		{			name: '卯时',			startTime: '05:00:00',			endTime: '06:59:59',		},		{			name: '辰时',			startTime: '07:00:00',			endTime: '08:59:59',		},		{			name: '巳时',			startTime: '09:00:00',			endTime: '10:59:59',		},		{			name: '午时',			startTime: '11:00:00',			endTime: '12:59:59',		},		{			name: '未时',			startTime: '13:00:00',			endTime: '14:59',		},		{			name: '申时',			startTime: '15:00:00',			endTime: '16:59:59',		},		{			name: '酉时',			startTime: '17:00:00',			endTime: '18:59:59',		},		{			name: ' 戌时',			startTime: '19:00:00',			endTime: '20:59:59',		},		{			name: '亥时',			startTime: '21:00:00',			endTime: '22:59:59',		},			]/** * time: 传入时间 * 返回:时辰 */export const getChinaTime = (time)=>{	const currentSeconds = timeToSeconds(time);	const index = chinaHours.findIndex((item,index)=>{		const startSeconds = timeToSeconds(item.startTime);		const endSeconds = timeToSeconds(item.endTime);		if(index == 0){			const startEndSeconds = timeToSeconds('23:59:59');			const endStartSeconds = timeToSeconds('00:00:00');			console.log(index,startSeconds,currentSeconds,startEndSeconds)			console.log(index,endStartSeconds,currentSeconds,endSeconds)			return (currentSeconds >= startSeconds && currentSeconds <= startEndSeconds) ||  (currentSeconds >= endStartSeconds && currentSeconds <= endSeconds) ;		}else{			return currentSeconds >= startSeconds && currentSeconds <= endSeconds;		}	})	return chinaHours[index];}//将时间转化为秒数export const timeToSeconds = (time)=>{	const timeArray = time.split(':');	const currentTimeSeconds = timeArray.reduce((accumulator,currentValue,index)=>{		if(index == timeArray.length - 1){			return accumulator + Number(currentValue);		}else if(index == 0){			return accumulator + Number(currentValue) * 3600;		}		return accumulator + Number(currentValue) * 60	},0)	return currentTimeSeconds;}
 |