1234567891011121314151617181920212223242526272829303132333435363738394041 |
- export const getDateRect = (date) => {
- const _date = new Date(date);
- return {
- year: _date.getFullYear(),
- month: _date.getMonth(),
- date: _date.getDate(),
- day: _date.getDay(),
- time: _date.getTime(),
- };
- };
- export const isSameDate = (date1, date2) => {
- if (date1 instanceof Date || typeof date1 === 'number')
- date1 = getDateRect(date1);
- if (date2 instanceof Date || typeof date2 === 'number')
- date2 = getDateRect(date2);
- const keys = ['year', 'month', 'date'];
- return keys.every((key) => date1[key] === date2[key]);
- };
- export const getMonthDateRect = (date) => {
- const { year, month } = getDateRect(date);
- const firstDay = new Date(year, month, 1);
- const weekdayOfFirstDay = firstDay.getDay();
- const lastDate = new Date(+new Date(year, month + 1, 1) - 24 * 3600 * 1000).getDate();
- return {
- year,
- month,
- weekdayOfFirstDay,
- lastDate,
- };
- };
- export const isValidDate = (val) => typeof val === 'number' || val instanceof Date;
- export const getDate = (...args) => {
- const now = new Date();
- if (args.length === 0)
- return now;
- if (args.length === 1 && args[0] <= 1000) {
- const { year, month, date } = getDateRect(now);
- return new Date(year, month + args[0], date);
- }
- return Date.apply(null, args);
- };
|