@hzy1123581324/z-view-ui
Version:
z-view-ui是使用vue3开发的组件,开发中,有部分组件功能未实现,慎用
65 lines (57 loc) • 1.78 kB
JavaScript
import {
computed
} from "vue";
import {
getMonthDays
getFirstLastDay
getFirstLastDayList
getFirstLastDayBeforeList
} from "../utils/date.js";
const WeekChineseList = ['周日','周一','周二','周三','周四','周五','周六'];
export function useDate() {
let dateType = ref('day'); //day,month,week
const now = new Date();
let currentYear = ref(now.getFullYear());
let currentMonth = ref(now.getMonth() + 1);
let currentDay = ref(now.getDate());
function Date2Week(date = new Date()){
return WeekChineseList[date.getDay()];
}
/**
* 返回时间区间
*
@returns []
*/
const dateRange = computed(() => {
let startTime, endTime = '';
switch (dateType.value) {
case 'day':
startTime = new Date(`${currentYear.value}/${currentMonth.value}/${currentDay.value} 00:00:00`)
endTime = new Date(`${currentYear.value}/${currentMonth.value}/${currentDay.value} 23:59:59`)
break;
case 'month':
startTime = new Date(`${currentYear.value}/${currentMonth.value}/01 00:00:00`);
endTime = new Date(
`${currentYear.value}/${currentMonth.value}/${getMonthDays(currentMonth.value,currentYear.value)} 23:59:59`
);
break;
case 'week':
default:
const week = getFirstLastDay(new Date(
`${currentYear.value}/${currentMonth.value}/${currentDay.value} 00:00:00`))
startTime = week.monday;
endTime =new Date(week.sunday.setHours(23).setSeconds(59).setMinutes(59));
break;
default:
break;
}
return [startTime, endTime, ]
})
return {
dateType,
currentYear,
currentMonth,
currentDay,
dateRange
}
}