# 日期

# format

  • 说明:

    格式化日期

  • 参数:

    • {(Date|string|number)} [date=new Date()] 时间戳或日期对象
    • {string} [valueFormat=YYYY-MM-DD hh:mm:ss] 格式,年(YYYY) 月(MM) 日(DD) 时(hh) 分(mm) 秒(ss) 星期(WW)
  • 返回值:

    {(string|null)} 格式化后的日期

  • 示例:

jsToolkit.format()
// 2023-08-03 10:05:18
jsToolkit.format(new Date(), 'YYYY/MM/DD hh:mm:ss WW')
// 2023/08/03 10:05:18 星期四
jsToolkit.format('2020-9-9', 'YYYY/M/D')
// 2020/9/9
1
2
3
4
5
6

# timeAgo

  • 说明:

    以前时间距离当前时间的时间差

  • 参数:

    • {(Date|string|number)} date 时间对象或时间戳
    • {Object} [opt={d: 'day', h: 'hour', m: 'minute'}] 选项配置
    • {string} [opt.d='day'] 天的单位
    • {string} [opt.h='hour'] 小时的单位
    • {string} [opt.m='minute'] 分钟的单位
  • 返回值:

    {string} 时间差

  • 示例:

// 假设当前时间为 2023-5-18
jsToolkit.timeAgo('2023-5-17')
// 1day
1
2
3

# getTimeSlotByStep

  • 说明:

    根据步长获取时间间隔

  • 参数:

    • {number} [step=30] 间隔 单位:分钟
  • 返回值:

    {string[]} 时间间隔数组

  • 示例:

jsToolkit.getTimeSlotByStep(240)
// ['00:00', '04:00', '08:00', '12:00', '16:00', '20:00']
1
2

# sToHms

  • 说明:

    秒转时分秒

  • 参数:

    • {number} [s=0] 秒数
    • {Array<string>} format 格式 默认:["时", "分", "秒"],可以自定义例如:["h", "m "s"]
  • 返回值:

    {string} x时x分x秒

  • 示例:

jsToolkit.sToHms(7200)
// 2时0分0秒
1
2

# getDaysFromDate

  • 说明:

    根据指定日期获取指定长度的天数集合

  • 参数:

    • {(Date|string)} [date=new Date()] 时间
    • {number} [len=2] 长度
    • {number} [dir=-1] 方向 -1: 前几天(默认),0:前后几天,1: 后几天
    • {string} [valueFormat="YYYY-MM-DD"] 日期格式
  • 返回值:

    {string[]} 日期集合

  • 示例:

jsToolkit.getDaysFromDate()
// ['2023-08-01', '2023-08-02', '2023-08-03']
jsToolkit.getDaysFromDate('2023-1-1', 2, 1)
// ['2023-01-01', '2023-01-02', '2023-01-03']
jsToolkit.getDaysFromDate('2023-1-1', 2, 0, 'YYYY/MM/DD')
//['2022/12/30', '2022/12/31', '2023/01/01', '2023/01/02', '2023/01/03']
1
2
3
4
5
6

# getDaysInMonth

  • 说明:

    获取指定日期的所在月份的总天数

  • 参数:

    • {(Date|string|number)} [date=new Date()] 日期对象或日期格式字符串
  • 返回值:

    {number} 天数

  • 示例:

jsToolkit.getDaysInMonth()
// 31
jsToolkit.getDaysInMonth('2023-6')
// 30
1
2
3
4

# getDaysInYear

  • 说明:

    获取某年天数

  • 参数:

    • {(Date|String|number)} year 年份
  • 返回值:

    {number} 天数

  • 示例:

jsToolkit.getDaysInYear()
// 365
jsToolkit.getDaysInYear(2020)
// 366
1
2
3
4

# getMonthsFromDate

  • 说明:

    根据指定时间获取指定长度的月份集合

  • 参数:

    • {(Date|string|number)} [date=new Date()] 日期对象或日期格式字符串
    • {number} [length=2] 长度
    • {number} [direction=1] -1: 前几个月(默认),0:前后几个月,2: 后几个月
    • {string} [valueFormat='YYYY-MM'] 返回格式
  • 返回值:

    {string[]} 月份集合

  • 示例:

jsToolkit.getMonthsFromDate()
// ['2023-06', '2023-07', '2023-08']
jsToolkit.getMonthsFromDate('2023-1-1', 2, 1)
// ['2023-01', '2023-02', '2023-03']
jsToolkit.getMonthsFromDate('2023-1-1', 2, 0, 'YYYY/MM/DD')
// ['2022/11/01', '2022/12/01', '2023/01/01', '2023/02/01', '2023/03/01']
1
2
3
4
5
6

# getStartMonthOfQuarter

  • 说明:

    根据指定时间获得该季度的开始月份

  • 参数:

    • {(Date|string|number)} [date=new Date()] 日期对象或日期格式字符串
    • {string} [valueFormat='YYYY-MM'] 返回值格式
  • 返回值:

    {string} 月份

  • 示例:

jsToolkit.getStartMonthOfQuarter()
// 2023-07 
jsToolkit.getStartMonthOfQuarter('2022-2')
// 2022-01
1
2
3
4

# getDayOfYear

  • 说明:

    获取某个日期是当年中的第几天

  • 参数:

    • {(Date|string|number)} [date=new Date()] 日期对象或日期格式字符串
  • 返回值:

    {number} 返回第几天

  • 示例:

jsToolkit.getDayOfYear()
// 215
jsToolkit.getDayOfYear('2022-2-1')
// 32
1
2
3
4

# getDayOfYearWeek

  • 说明:

    获取某个日期在这一年的第几周

  • 参数:

    • {(Date|string|number)} [date=new Date()] 日期对象或日期格式字符串
  • 返回值:

    {number} 返回第几周

  • 示例:

jsToolkit.getWeekOfYear()
// 31
jsToolkit.getWeekOfYear('2022-2-1')
// 5
1
2
3
4

# getStartOfWeek

  • 说明:

    根据日期获取本周、上周、下周的开始日期

  • 参数:

    • {(Date|string|number)} [date=new Date()] 日期对象或日期格式字符串
    • {number} [type=0] 类型 -1:上周 0:本周(默认) 1:下周
    • {string} [valueFormat="YYYY-MM-DD"] 返回的日期格式
  • 返回值:

    {string} 周开始日期

  • 示例:

jsToolkit.getStartOfWeek()
// 2023-07-31 
jsToolkit.getStartOfWeek('2022-01-01', -1)
// 2021-12-20 
jsToolkit.getStartOfWeek('2022-01-01', 1)
// 2022-01-03
1
2
3
4
5
6

# getEndOfWeek

  • 说明:

    根据日期获得本周、上周、下周的结束日期

  • 参数:

    • {(Date|string|number)} [date=new Date()] 日期对象或日期格式字符串
    • {number} [type=0] -1:上周 0:本周(默认) 1:下周
    • {string} [valueFormat="YYYY-MM-DD"] 返回的日期格式
  • 返回值:

    {string} 周结束日期

  • 示例:

jsToolkit.getEndOfWeek()
// 2023-08-06 
jsToolkit.getEndOfWeek('2022-01-01', -1)
// 2021-12-26 
jsToolkit.getEndOfWeek('2022-01-01', 1)
// 2022-01-09
1
2
3
4
5
6

# getStartOfMonth

  • 说明:

    根据日期获得本月、上月、下月开始日期

  • 参数:

    • {(Date|string|number)} [date=new Date()] 日期对象或日期格式字符串
    • {number} [type=0] -1:上月 0:本月(默认) 1:下月
    • {string} [valueFormat="YYYY-MM-DD"] 返回的日期格式
  • 返回值:

    {string} 月开始日期

  • 示例:

jsToolkit.getStartOfMonth()
// 2023-08-01 
jsToolkit.getStartOfMonth(new Date('2022-01-01'), -1)
// 2021-12-01 
jsToolkit.getStartOfMonth(new Date('2022-01-01'), 1)
// 2022-02-01

1
2
3
4
5
6
7

# getEndOfMonth

  • 说明:

    根据日期获得本月、上月、下月结束日期

  • 参数:

    • {(Date|string|number)} [date=new Date()] 日期对象或日期格式字符串
    • {number} [type=0] -1:上月 0:本月(默认) 1:下月
    • {string} [valueFormat="YYYY-MM-DD"] 返回的日期格式
  • 返回值:

    {string} 日期

  • 示例:

jsToolkit.getEndOfMonth()
// 2023-08-31
jsToolkit.getEndOfMonth(new Date('2022-01-01'), -1)
// 2021-12-31
jsToolkit.getEndOfMonth(new Date('2022-01-01'), 1)
// 2022-02-28
1
2
3
4
5
6

# getStartOfQuarter

  • 说明:

    根据日期获取本季度、上季度、下季度的开始日期

  • 参数:

    • {(Date|string|number)} [date=new Date()] 日期对象或日期格式字符串
    • {number} [type=0] -1:上季度 0:本季度(默认) 1:下季度
    • {string} [valueFormat="YYYY-MM-DD"] 返回的日期格式
  • 返回值:

    {string} 季度开始日期

  • 示例:

jsToolkit.getStartOfQuarter()
// 2023-07-01 
jsToolkit.getStartOfQuarter(new Date('2022-01-01'), -1)
// 2021-10-01 
jsToolkit.getStartOfQuarter(new Date('2022-01-01'), 1)
// 2022-04-01
1
2
3
4
5
6

# getEndOfQuarter

  • 说明:

    根据日期获取本季度、上季度、下季度的结束日期

  • 参数:

    • {(Date|string|number)} [date=new Date()] 日期对象或日期格式字符串
    • {number} [type=0] -1:上季度 0:本季度(默认) 1:下季度
    • {string} [valueFormat="YYYY-MM-DD"] 返回的日期格式
  • 返回值:

    {string} 季度结束日期

  • 示例:

jsToolkit.getEndOfQuarter()
// 2023-07-31 
jsToolkit.getEndOfQuarter(new Date('2022-01-01'), -1)
// 2021-10-31 
jsToolkit.getEndOfQuarter(new Date('2022-01-01'), 1)
// 2022-04-30
1
2
3
4
5
6

# getStartOfYear

  • 说明:

    根据日期获取本年、上年、下年的开始日期

  • 参数:

    • {(Date|string|number)} [date=new Date()] 日期对象或日期格式字符串
    • {number} [type=0] -1:上年 0:本年(默认) 1:下年
    • {string} [valueFormat="YYYY-MM-DD"] 返回的日期格式
  • 返回值:

    {string} 年开始日期

  • 示例:

jsToolkit.getStartOfYear()
// 2023-01-01 
jsToolkit.getStartOfYear('2022-01-01')
// 2022-01-01
1
2
3
4

# getEndOfYear

  • 说明:

    根据日期获取本年、上年、下年的结束日期

  • 参数:

    • {(Date|string|number)} [date=new Date()] 日期对象或日期格式字符串
    • {number} [type=0] -1:上年 0:本年(默认) 1:下年
    • {string} [valueFormat="YYYY-MM-DD"] 返回的日期格式
  • 返回值:

    {string} 年结束日期

  • 示例:

jsToolkit.getEndOfYear()
// 2023-12-31 
jsToolkit.getEndOfYear('2022-01-01')
// 2022-12-31
1
2
3
4

# getBeforeDate

  • 说明:

    获取指定日期的前几天

  • 参数:

    • {(Date|string|number)} [date=new Date()] 日期对象或日期格式字符串
    • {number} [len=1] 要获取的天数长度, 1:近一天(默认) 3:近三天 7:近7天,30:近30天
    • {string} [valueFormat="YYYY-MM-DD"] 返回的日期格式
  • 返回值:

    {string} 日期

  • 示例:

// 假设当前时间为 2023-8-3
jsToolkit.getBeforeDate(new Date())
// 2023-08-02 
jsToolkit.getBeforeDate(new Date(), 3)
// 2023-07-31 
jsToolkit.getBeforeDate(new Date(), 7)
// 2023-07-27 
jsToolkit.getBeforeDate(new Date(), 30)
// 2023-07-04
1
2
3
4
5
6
7
8
9

# getDatesBetween

  • 说明:

    获取两个日期之间的所有日期

  • 参数:

    • {(Date|string|number)} startDate 开始日期
    • {(Date|string|number)} endDate 结束日期
    • {string} [valueFormat="YYYY-MM-DD"] 返回的日期格式
  • 返回值:

    {string[]} 日期数组

  • 示例:

jsToolkit.getDatesBetween('2022-1-1', '2022-1-5')
// ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04', '2022-01-05']
1
2