init
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
/**
|
||||
* 获取年份列表
|
||||
*/
|
||||
const getYears = () => {
|
||||
let years = [];
|
||||
for (let i = 1970; i < getYear() + 100; i++) {
|
||||
years.push(i);
|
||||
}
|
||||
return years;
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取当前日期
|
||||
*/
|
||||
const getDate = (val = "") => {
|
||||
if (val) {
|
||||
return new Date(val);
|
||||
} else {
|
||||
return new Date();
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取当前年份
|
||||
*/
|
||||
const getYear = (val = "") => {
|
||||
return getDate(val).getFullYear();
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取当前月份
|
||||
*/
|
||||
const getMonth = (val = "") => {
|
||||
return getDate(val).getMonth();
|
||||
};
|
||||
|
||||
const getDay = (val = "") => {
|
||||
if (val) {
|
||||
return new Date(getDate(val).toDateString()).getTime();
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取月份天数
|
||||
*
|
||||
* @param year
|
||||
* @param month
|
||||
*/
|
||||
const getDayLength = (year: number, month: number): number => {
|
||||
return new Date(year, month + 1, 0).getDate();
|
||||
};
|
||||
|
||||
// 设置日期列表
|
||||
const setDateList = (year: number, month: number) => {
|
||||
const curDays = getDayLength(year, month); // 当月天数
|
||||
const prevDays = getDayLength(year, month - 1); // 上月天数
|
||||
const curFirstDayWeek = new Date(year, month, 1).getDay(); // 当月第一天星期几
|
||||
const list: any[] = [];
|
||||
// 填充上月天数
|
||||
for (let i = prevDays - curFirstDayWeek + 1; i <= prevDays; i++) {
|
||||
list.push({
|
||||
day: i,
|
||||
value: +new Date(year, month - 1, i),
|
||||
isRange: false,
|
||||
isSelected: false,
|
||||
type: "prev",
|
||||
});
|
||||
}
|
||||
// 填充当月天数
|
||||
for (let i = 1; i <= curDays; i++) {
|
||||
list.push({
|
||||
day: i,
|
||||
value: +new Date(year, month, i),
|
||||
isRange: false,
|
||||
isSelected: false,
|
||||
type: "current",
|
||||
});
|
||||
}
|
||||
// 填充下月天数
|
||||
const nextDays = 7 - (list.length % 7);
|
||||
if (nextDays !== 7) {
|
||||
for (let i = 1; i <= nextDays; i++) {
|
||||
list.push({
|
||||
day: i,
|
||||
value: +new Date(year, month + 1, i),
|
||||
isRange: false,
|
||||
isSelected: false,
|
||||
type: "next",
|
||||
});
|
||||
}
|
||||
}
|
||||
return list;
|
||||
};
|
||||
|
||||
export {
|
||||
getDayLength,
|
||||
getYears,
|
||||
getDate,
|
||||
getMonth,
|
||||
getYear,
|
||||
getDay,
|
||||
setDateList,
|
||||
};
|
||||
Reference in New Issue
Block a user