useDate.tsx 1.6 KB

123456789101112131415161718192021222324252627282930
  1. import moment from 'dayjs'
  2. type Type = "day" | "week" | "month" | "year" | "years" | "y" | "months" | "M" | "weeks" | "w" | "days" | "d" | "hour" | "hours" | "h" | "minute"
  3. type Format = 'YYYY-MM-DD' | 'YYYY-MM-DD HH' | 'YYYY-MM-DD HH:mm' | 'YYYY-MM-DD HH:mm:ss'
  4. /**获取当前时间往前的时间
  5. * @param type 处理的类型 小时?分?秒?年?月?日?
  6. * @param num 对应type计算的值假如type为day 设num为1就是获取往前一天的时间
  7. * @param date 默认为今天,可设置 其它时间支持字符串 2020-12-12 12:12:12
  8. * @param format 格式化类型 默认为YYYY-MM-DD
  9. */
  10. export function useBeforeTime(num: number, type: Type, format?: Format, date?: Date | string): string {
  11. return moment(date || new Date()).subtract(num, type).format(format || 'YYYY-MM-DD')
  12. }
  13. /**
  14. * 格式化日期
  15. * @param date 默认为今天,可设置 其它时间支持字符串 2020-12-12 12:12:12
  16. * @param format 格式化类型 默认为YYYY-MM-DD
  17. * */
  18. export function useformatTime(format?: Format, date?: Date): string {
  19. return moment(date || new Date()).format(format || 'YYYY-MM-DD')
  20. }
  21. /**往后日期
  22. * @param type 处理的类型 小时?分?秒?年?月?日?
  23. * @param num 对应type计算的值假如type为day 设num为1就是获取往后一天的时间
  24. * @param date 默认为今天,可设置 其它时间支持字符串 2020-12-12 12:12:12
  25. * @param format 格式化类型 默认为YYYY-MM-DD
  26. */
  27. export function useAddTime(num: number, type: Type, format?: Format, date?: Date | string): string {
  28. return moment(date || new Date()).add(num, type).format(format || 'YYYY-MM-DD')
  29. }