UNPKG

@hzy1123581324/z-view-ui

Version:

z-view-ui是使用vue3开发的组件,开发中,有部分组件功能未实现,慎用

65 lines (57 loc) 1.78 kB
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 } }