122 lines
2.7 KiB
JavaScript
122 lines
2.7 KiB
JavaScript
|
// 创建年份数据
|
|||
|
export const createYearList = (baseYear, span, startYear) => {
|
|||
|
const years = [];
|
|||
|
let nowYearIndex = -1;
|
|||
|
// 生成年份选项数据,往前span年
|
|||
|
for (let year = startYear ? startYear : baseYear - span; year <= baseYear + span; year++) {
|
|||
|
if (baseYear >= year) {
|
|||
|
nowYearIndex += 1;
|
|||
|
}
|
|||
|
years.push(year);
|
|||
|
}
|
|||
|
return {
|
|||
|
list: years,
|
|||
|
index: nowYearIndex
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 创建月份数据
|
|||
|
export const createMonthList = (nowMonth, baseMonth = 1) => {
|
|||
|
const months = [];
|
|||
|
let nowMonthIndex = -1;
|
|||
|
for (let month = baseMonth; month <= 12; month ++) {
|
|||
|
if (nowMonth >= month) {
|
|||
|
nowMonthIndex += 1;
|
|||
|
}
|
|||
|
months.push(String(month).padStart(2, '0'));
|
|||
|
}
|
|||
|
return {
|
|||
|
list: months,
|
|||
|
index: nowMonthIndex
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 创建天数数据
|
|||
|
export const createDayList = (year, month, nowDay, baseDay = 1) => {
|
|||
|
const days = [];
|
|||
|
let nowDayIndex = -1;
|
|||
|
// 可以选择的天,会根据月份有变化
|
|||
|
const maxDay = new Date(+year, +month, 0).getDate();
|
|||
|
for (let day = +baseDay; day <= maxDay; day ++) {
|
|||
|
if (nowDay >= day) {
|
|||
|
nowDayIndex += 1;
|
|||
|
}
|
|||
|
days.push(String(day).padStart(2, '0'));
|
|||
|
}
|
|||
|
return {
|
|||
|
list: days,
|
|||
|
index: nowDayIndex
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 创建小时数数据
|
|||
|
export const createHourList = (nowHour, baseHour = 0) => {
|
|||
|
const hours = [];
|
|||
|
let nowHourIndex = -1;
|
|||
|
for (let hour = +baseHour; hour <= 23; hour ++) {
|
|||
|
if (+nowHour >= hour) {
|
|||
|
nowHourIndex += 1;
|
|||
|
}
|
|||
|
hours.push(String(hour).padStart(2, '0'));
|
|||
|
}
|
|||
|
return {
|
|||
|
list: hours,
|
|||
|
index: nowHourIndex
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 创建分钟数数据
|
|||
|
export const createMinuteList = (nowMinute, baseMinute = 0) => {
|
|||
|
const minutes = [];
|
|||
|
let nowMinuteIndex = -1;
|
|||
|
for (let minute = +baseMinute; minute <= 59; minute ++) {
|
|||
|
if (+nowMinute >= minute) {
|
|||
|
nowMinuteIndex += 1;
|
|||
|
}
|
|||
|
minutes.push(String(minute).padStart(2, '0'));
|
|||
|
}
|
|||
|
return {
|
|||
|
list: minutes,
|
|||
|
index: nowMinuteIndex
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 创建秒数数据
|
|||
|
export const createSecondList = (nowSecond, baseMinute = 0) => {
|
|||
|
const seconds = [];
|
|||
|
let nowSecondIndex = -1;
|
|||
|
for (let second = +baseMinute; second <= 59; second ++) {
|
|||
|
if (+nowSecond >= second) {
|
|||
|
nowSecondIndex += 1;
|
|||
|
}
|
|||
|
seconds.push(String(second).padStart(2, '0'));
|
|||
|
}
|
|||
|
return {
|
|||
|
list: seconds,
|
|||
|
index: nowSecondIndex
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 生成日期字符串
|
|||
|
export const createDateStr = (year, month, day, hour, minute, second) => {
|
|||
|
let str = '';
|
|||
|
if (year) {
|
|||
|
str += `${year}年`
|
|||
|
}
|
|||
|
if (month) {
|
|||
|
str += `${month}月`
|
|||
|
}
|
|||
|
if (day) {
|
|||
|
str += `${day}日`
|
|||
|
}
|
|||
|
if (hour) {
|
|||
|
str += minute ? ` ${hour}:` : `${hour}`
|
|||
|
}
|
|||
|
if (minute) {
|
|||
|
str += second ? `${minute}:` : `${minute}`
|
|||
|
}
|
|||
|
if (second) {
|
|||
|
str += `${second}`
|
|||
|
}
|
|||
|
return str;
|
|||
|
}
|