2025-04-01 09:03:51 +08:00

122 lines
2.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 创建年份数据
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;
}