Skip to content

日期工具类 - IkDate

内置dayjs库

不用单独install dayjs依赖,用法与dayjs api完全一致,直接使用即可

  1. import { dayjs } from 'iking-utils';
  2. 查看详细文档

使用IkDate

常用于用于格式化日期,获取关于日期的一些数据等

导入方式

import { ikDate } from 'iking-utils'

时间格式化 - toDateTime

将时间默认转换成 YYYY-MM-DD HH:mm:ss 格式

script
type TDate = string | Date | undefined
const DATE_TIME_FORMAT = 'YYYY-MM-DD HH:mm:ss';
toDateTime(date: TDate = undefined, format = DATE_TIME_FORMAT,)

参数说明

参数值类型参数值说明
dateTDate日期
formatstring格式

示例

vue
 const date = ikDate.toDateTime(new Date())
<!-- console.log(date) -->
2023-08-23 15:05:42

格式化成日期 - toDate

将日期默认转换成 YYYY-MM-DD 格式

script
type TDate = string | Date | undefined
const DATE_FORMAT = 'YYYY-MM-DD';
toDate(date: TDate = undefined, format = DATE_FORMAT,)

参数说明

参数值类型参数值说明
dateTDate日期
formatstring格式

示例

vue
 const date = ikDate.toDate(new Date())
<!-- console.log(date) -->
2023-08-23

格式化为年份 - toY

将日期默认转换成 YYYY 格式

script
type TDate = string | Date | undefined
toY(date: TDate = undefined, format = 'YYYY',)

参数说明

参数值类型参数值说明
dateTDate日期
formatstring格式

示例

vue
 const date = ikDate.toY(new Date())
<!-- console.log(date) -->
2023

日期格式化为年月 - toYM

将日期默认转换成 YYYY-MM 格式

script
type TDate = string | Date | undefined
toY(date: TDate = undefined, format = 'YYYY-MM',)

参数说明

参数值类型参数值说明
dateTDate日期
formatstring格式

示例

vue
 const date = ikDate.toYM(new Date())
<!-- console.log(date) -->
2023-08

日期格式化为月日 - toMD

将日期默认转换成 MM-DD 格式

script
type TDate = string | Date | undefined
toY(date: TDate = undefined, format = 'MM-DD',)

参数说明

参数值类型参数值说明
dateTDate日期
formatstring格式

示例

vue
 const date = ikDate.toMD(new Date())
<!-- console.log(date) -->
08-23

日期格式化为年月日 - toYMD

将日期默认转换成 YYYY-MM-DD 格式

script
type TDate = string | Date | undefined
toY(date: TDate = undefined, format = 'YYYY-MM-DD',)

参数说明

参数值类型参数值说明
dateTDate日期
formatstring格式

示例

vue
const date = ikDate.toYMD(new Date())
  <!-- console.log(date) -->
  2023-08-23

日期格式化为年月日时分 - toYMDHM

将日期默认转换成 YYYY-MM-DD HH:mm 格式

script
type TDate = string | Date | undefined
toY(date: TDate = undefined, format = 'YYYY-MM-DD HH:mm',)

参数说明

参数值类型参数值说明
dateTDate日期
formatstring格式

示例

vue
const date = ikDate.toYMDHM(new Date())
  <!-- console.log(date) -->
  2023-08-23 15:05

获取星期几 - formatWeek

formatWeek(date: IkDate, isArr = true)

参数说明

参数值类型参数值说明
dateIkDate日期
isArrBoolean是否返回的为数组,默认为true

示例

vue
ikDate.formatWeek(new Date())
<!-- console.log(ikDate.formatWeek(new Date())) -->
      ['三', '星期三', '周三', '3']
vue
ikDate.formatWeek(new Date())
<!-- console.log(ikDate.formatWeek(new Date(), false)) -->

获取某一周数据 - getWeek

getWeek(date: IkDate)

参数说明

参数值类型参数值说明
dateIkDate日期

示例

vue
ikDate.getWeek(new Date())
<!-- console.log(ikDate.getWeek(new Date())) -->
  [
    {
      date: "2023-08-21",
      datemon: "08-21",
      week: "一",
      week1: "星期一",
      week2: "周一",
      week3: 1,
    },
    {
      date: "2023-08-22",
      datemon: "08-22",
      week: "二",
      week1: "星期二",
      week2: "周二",
      week3: 2,
    },
    {
      date: "2023-08-23",
      datemon: "08-23",
      week: "三",
      week1: "星期三",
      week2: "周三",
      week3: 3,
    },
    {
      date: "2023-08-24",
      datemon: "08-24",
      week: "四",
      week1: "星期四",
      week2: "周四",
      week3: 4,
    },
    {
      date: "2023-08-25",
      datemon: "08-25",
      week: "五",
      week1: "星期五",
      week2: "周五",
      week3: 5,
    },
    {
      date: "2023-08-26",
      datemon: "08-26",
      week: "六",
      week1: "星期六",
      week2: "周六",
      week3: 6,
    },
    {
      date: "2023-08-27",
      datemon: "08-27",
      week: "日",
      week1: "星期日",
      week2: "周日",
      week3: 0,
    },
  ]

获取某一月数据 - getMonth

getMonth(date: IkDate)

参数说明

参数值类型参数值说明
dateIkDate日期

示例

vue
ikDate.getMonth(new Date())

获取某一月数据 + 补全 - getMonthComple

getMonthComple(date: IkDate) 获取日历上某月的数据(补全的是月份首尾其他日期的数据)

参数说明

参数值类型参数值说明
dateIkDate日期

示例

vue
  ikDate.getMonthComple(new Date())

获取某年某月有多少天 - getMonthDay

getMonthDay(year: number, month: number)

获取某年某月有多少天

参数说明

参数值类型参数值说明
yearNumber年份
monthNumber月份

示例

vue
  ikDate.getMonthDay(2023, 8)

计算两个日期之间相隔多少天 - daysBetweenDates

daysBetweenDates(dateA: IkDate, dateB: IkDate)

获取某年某月有多少天

参数说明

参数值类型参数值说明
dateAIkDate日期
dateBIkDate日期

示例

vue
  ikDate.daysBetweenDates(new Date(), '2023-8-11')
  <!-- console.log(ikDate.daysBetweenDates(new Date(), '2023-8-11')) -->
    12

convertDate 农历阳历互转

convertDate.lunarInfo- 农历1900-2100的润大小信息表

示例

vue
ikDate.convertDate.lunarInfo

convertDate.solarMonth - 公历每个月份的天数普通表

示例

vue
ikDate.convertDate.solarMonth

convertDate.Gan - 天干地支之天干速查表

示例

vue
ikDate.convertDate.Gan

convertDate.Zhi - 天干地支之地支速查表

示例

vue
ikDate.convertDate.Zhi

convertDate.Animals - 天干地支之地支速查表<=>生肖

示例

vue
ikDate.convertDate.Animals

convertDate.solarTerm - 24节气速查表

示例

vue
ikDate.convertDate.solarTerm

convertDate.sTermInfo - 1900-2100各年的24节气日期速查表

示例

vue
ikDate.convertDate.sTermInfo

convertDate.nStr1 - 数字转中文速查表

示例

TIP

['日','一','二','三','四','五','六','七','八','九','十']

vue
ikDate.convertDate.nStr1

convertDate.nStr2 - 日期转农历称呼速查表

示例

TIP

['初','十','廿','卅']

vue
ikDate.convertDate.nStr2

convertDate.nStr3 - 月份转农历称呼速查表

示例

TIP

['正','二','三','四','五','六','七','八','九','十','冬','腊']

vue
ikDate.convertDate.nStr3

convertDate.lunarFestival - 农历节日

示例

vue
ikDate.convertDate.lunarFestival

convertDate.solarFestival - 阳历节日

示例

vue
ikDate.convertDate.solarFestival

convertDate.lYearDays(y: Number) - 返回农历y年一整年的总天数

参数说明

参数值类型参数值说明
yNumber年份值

示例

vue
ikDate.convertDate.lYearDays(2023)

convertDate.leapMonth(y: Number)

返回农历y年闰月是哪个月;若y年没有闰月 则返回0

参数说明

参数值类型参数值说明
yNumber年份值

示例

vue
ikDate.convertDate.leapMonth(2023)

convertDate.leapDays(y: Number)

返回农历y年闰月的天数 若该年没有闰月则返回0

示例

参数说明

参数值类型参数值说明
yNumber年份值
vue
ikDate.convertDate.leapDays(2023)

convertDate.monthDays(y: Number, m: Number)

返回农历y年m月(非闰月)的总天数,计算m为闰月时的天数请使用leapDays方法

参数说明

参数值类型参数值说明
yNumber年份值
mNumber月份值

示例

vue
ikDate.convertDate.monthDays(2023, 3)

convertDate.solarDays(y: Number, m: Number)

返回公历(!)y年m月的天数

参数说明

参数值类型参数值说明
yNumber年份值
mNumber月份值

示例

vue
ikDate.convertDate.solarDays(2023, 3)

convertDate.toGanZhiYear(lYear: number)

农历年份转换为干支纪年

参数说明

参数值类型参数值说明
lYearNumber年份值

示例

vue
ikDate.convertDate.toGanZhiYear(2023)

convertDate.toAstro(cMonth: number, cDay: number)

公历月、日判断所属星座

参数说明

参数值类型参数值说明
cMonthNumber月份值
cDayNumber

示例

vue
ikDate.convertDate.toAstro(8,9)

convertDate.toGanZhi(offset: number)

传入offset偏移量返回干支

参数说明

参数值类型参数值说明
offsetNumber相对甲子的偏移量

示例

vue
ikDate.convertDate.toGanZhi(8)

convertDate.getTerm(y: number, n: number)

传入公历(!)y年获得该年第n个节气的公历日期

参数说明

参数值类型参数值说明
yNumber公历年(1900-2100)
nNumber二十四节气中的第几个节气(1~24);从n=1(小寒)算起

示例

vue
ikDate.convertDate.getTerm(2023, 8)

convertDate.toChinaMonth(m: number)

传入农历数字月份返回汉语通俗表示法

参数说明

参数值类型参数值说明
mNumber月份

示例

vue
ikDate.convertDate.toChinaMonth(8)

convertDate.toChinaDay(d: number)

传入农历日期数字返回汉字表示法

参数说明

参数值类型参数值说明
mNumber月份

示例

vue
ikDate.convertDate.toChinaDay(8)
<!-- conosle.log(ikDate.convertDate.toChinaDay(8)) -->
初八

convertDate.getAnimal(y: number)

年份转生肖[!仅能大致转换] => 精确划分生肖分界线是“立春”

参数说明

参数值类型参数值说明
yNumber年份

示例

vue
ikDate.convertDate.getAnimal(2023)
<!-- conosle.log(ikDate.convertDate.getAnimal(2023)) -->

convertDate.getFestival(month: string | number, day: number | string, y: number, m?: number)

根据公历日期获取是什么节日

参数说明

参数值类型参数值说明
monthNumber | String
dayNumber | String
yNumber(暂时未用到该参数)
mNumber(暂时未用到该参数)

示例

vue
ikDate.convertDate.getFestival(8, 1, 0, 0)
<!-- conosle.log(ikDate.convertDate.getFestival(8, 1, 0, 0)) -->
{month: 8, day: 1, name: '建军节'}

convertDate.solar2lunar(y: number, m: number, d: number)

传入阳历年月日获得详细的公历、农历object信息 <=>JSON

参数说明

参数值类型参数值说明
yNumber年份
mNumber月份
dNumber

示例

vue
ikDate.convertDate.solar2lunar(2023, 8, 23)
<!-- conosle.log(ikDate.convertDate.solar2lunar(2023, 8, 23)) -->
{
  Animal: "兔",
  IDayCn: "初八",
  IMonthCn: "七月",
  Term: "处暑",
  astro: "处女座",
  cDay: 23,
  cMonth: 8,
  cYear: 2023,
  fest: undefined,
  festcn: undefined,
  gzDay: "癸丑",
  gzMonth: "庚申",
  gzYear: "癸卯",
  isLeap: false,
  isTerm: true,
  isToday: true,
  lDay: 8,
  lMonth: 7,
  lYear: 2023,
  nWeek: 3,
  ncWeek: "星期三",
}

convertDate.lunar2solar(y: number, m: number, d: number, isLeapMonth: boolean = true)

传入农历年月日以及传入的月份是否闰月获得详细的公历、农历object信息 <=>JSON

参数说明

参数值类型参数值说明
yNumber年份
mNumber月份
dNumber
isLeapMonthBoolean如果是农历闰月第四个参数赋值true即可

示例

vue
ikDate.convertDate.lunar2solar(2023, 8, 23, true)
<!-- conosle.log(ikDate.convertDate.lunar2solar(2023, 8, 233, false))) -->
{
  Animal: "兔",
  IDayCn: "廿三",
  IMonthCn: "八月",
  Term: null,
  astro: "天秤座",
  cDay: 7,
  cMonth: 10,
  cYear: 2023,
  fest: undefined,
  festcn: undefined,
  gzDay: "戊戌",
  gzMonth: "辛酉",
  gzYear: "癸卯",
  isLeap: false,
  isTerm: false,
  isToday: false,
  lDay: 23,
  lMonth: 8,
  lYear: 2023,
  nWeek: 6,
  ncWeek: "星期六",
}