|
|
|
@ -2,6 +2,7 @@ import constValue from '@/api/calendar/const'; |
|
|
|
import constVal from '@/api/calendar/const'; |
|
|
|
import DateClass from '@/api/calendar/DateClass'; |
|
|
|
import { clockFactory } from '@/api/calendar/utils'; |
|
|
|
import { formToJSON } from 'axios'; |
|
|
|
|
|
|
|
export interface dateBase { |
|
|
|
isCurrent: boolean; |
|
|
|
@ -194,6 +195,83 @@ class Calendar { |
|
|
|
// console.log("日历数据",dateArray)
|
|
|
|
return dateArray; |
|
|
|
} |
|
|
|
//获取单一日期格式
|
|
|
|
gainOneDay(y: number, m: number, d: number){ |
|
|
|
let dateStr = y + "-" + m + "-" + d; // 要转换的日期字符串
|
|
|
|
let now = new Date(dateStr); //当前日期字符串转换成Date对象
|
|
|
|
const lun = DateClass.getLunars(y, m, d); |
|
|
|
const l = lun.split('-'); |
|
|
|
let currentTime = DateClass.getCurrent() |
|
|
|
return { |
|
|
|
title: d, |
|
|
|
isCurrent: true, |
|
|
|
isHolidays: DateClass.getHolidays([y, m, d]), |
|
|
|
isWorks: DateClass.getWorks([y, m, d]), |
|
|
|
date: `${y}-${clockFactory(m)}-${clockFactory(d)}`, |
|
|
|
lunars: lun, |
|
|
|
lunarsChinese: |
|
|
|
DateClass.toChinaMonth(Number(l[1])) + DateClass.toChinaDay(Number(l[2])), |
|
|
|
lunarsChina: DateClass.toChinaDay(Number(l[2])), |
|
|
|
isNow: currentTime[2] === d ? true : false, |
|
|
|
solarDay: DateClass.getSolarDay(m, d ), |
|
|
|
lunarDay: DateClass.getlunarDay(Number(l[0]), Number(l[1]), Number(l[2])), |
|
|
|
animal: DateClass.getAnimal(Number(l[0])), |
|
|
|
astro: DateClass.toAstro(y, m, d), |
|
|
|
term: getTerm(Number(l[0]), m, d), |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//获取指定日期所在周的时间
|
|
|
|
gainDayOfWeek(year: number, month: number, taday: number){ |
|
|
|
let dateStr = year + "-" + month + "-" + taday; // 要转换的日期字符串
|
|
|
|
let now = new Date(dateStr); //当前日期字符串转换成Date对象
|
|
|
|
let nowTime = now.getTime(); |
|
|
|
let nowDayOfWeek = now.getDay()==0?7:now.getDay(); //今天本周的第几天
|
|
|
|
let taDay = now.getDate() |
|
|
|
let firstTime = now.setDate(taDay - nowDayOfWeek + 1) |
|
|
|
let currentTime = DateClass.getCurrent() |
|
|
|
const dateArray: dateBase[] = []; |
|
|
|
for(let i=1; i<=7;i++){ |
|
|
|
let nextWeekFirstDaty = new Date(firstTime + 86400000 * (i - 1)) |
|
|
|
let y: any = nextWeekFirstDaty.getFullYear(); |
|
|
|
let m: any = nextWeekFirstDaty.getMonth() + 1; |
|
|
|
let d: any = nextWeekFirstDaty.getDate(); |
|
|
|
const lun = DateClass.getLunars(y, m, d); |
|
|
|
const l = lun.split('-'); |
|
|
|
dateArray.push({ |
|
|
|
title: d, |
|
|
|
isCurrent: true, |
|
|
|
isHolidays: DateClass.getHolidays([y, m, d]), |
|
|
|
isWorks: DateClass.getWorks([y, m, d - i]), |
|
|
|
date: `${y}-${clockFactory(m)}-${clockFactory(d)}`, |
|
|
|
lunars: lun, |
|
|
|
lunarsChinese: |
|
|
|
DateClass.toChinaMonth(Number(l[1])) + DateClass.toChinaDay(Number(l[2])), |
|
|
|
lunarsChina: DateClass.toChinaDay(Number(l[2])), |
|
|
|
isNow: currentTime[2] === d ? true : false, |
|
|
|
solarDay: DateClass.getSolarDay(m, d + i), |
|
|
|
lunarDay: DateClass.getlunarDay(Number(l[0]), Number(l[1]), Number(l[2])), |
|
|
|
animal: DateClass.getAnimal(Number(l[0])), |
|
|
|
astro: DateClass.toAstro(y, m, d), |
|
|
|
term: getTerm(Number(l[0]), m, d), |
|
|
|
|
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// console.log("dateStr=========>",dateStr)
|
|
|
|
// console.log("now=========>",now)
|
|
|
|
// console.log("nowTime=========>",nowTime)
|
|
|
|
// console.log("nowDayOfWeek=========>",nowDayOfWeek)
|
|
|
|
// console.log("taDay=========>",taDay)
|
|
|
|
// console.log("kjsd=========>",firstTime)
|
|
|
|
// console.log("dateArray=========>",dateArray)
|
|
|
|
|
|
|
|
return dateArray |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//获得一周的所有日期
|
|
|
|
getWeekNumber(year: number, month: number, taday: number) { |
|
|
|
let dateStr = year + "-" + month + "-" + taday; // 要转换的日期字符串
|
|
|
|
|