122 lines
2.7 KiB
JavaScript
Raw Normal View History

2025-04-01 09:03:51 +08:00
// 创建年份数据
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;
}