@vensst/js-toolkit 文档@vensst/js-toolkit 文档
  • v1.x
  • v2.x
  • 简体中文
  • English
  • v1.x
  • v2.x
  • 简体中文
  • English
  • 指南
  • Number
  • String
  • Array
  • Object
  • Date
  • Function
  • DOM
  • Validate
  • Math
  • Storage
  • URL
  • File
  • Image
  • Http
  • Scroll
  • Window
  • Other

Date

formatDate

  • 说明:

    格式化日期

  • 参数:

    • {(Date|string|number)} [date=new Date()] - 时间戳或日期对象,支持字符串、10位或13位时间戳
    • {string} [valueFormat=YYYY-MM-DD HH:mm:ss] - 格式字符串,支持:
      • YYYY: 四位年份
      • MM: 两位月份 (01-12)
      • M: 月份 (1-12)
      • DD: 两位日期 (01-31)
      • D: 日期 (1-31)
      • HH: 两位24小时制小时 (00-23)
      • H: 24小时制小时 (0-23)
      • hh: 两位12小时制小时 (01-12)
      • h: 12小时制小时 (1-12)
      • mm: 两位分钟 (00-59)
      • m: 分钟 (0-59)
      • ss: 两位秒 (00-59)
      • s: 秒 (0-59)
      • WW: 星期 (星期日-星期六)
  • 返回值:

    {string} 格式化后的日期字符串

  • 示例:

formatDate()
formatDate(new Date(), 'YYYY/MM/DD h:mm:ss WW')
formatDate(new Date(), 'WW')
formatDate('2020-9-9', 'YYYY/MM/DD')

getDateRange

  • 说明:

    根据指定日期获取指定范围的日期集合

  • 参数:

    • {(Date|string|number)} [date=new Date()] - 基准日期,可以是日期对象、日期字符串或时间戳
    • {number} [len=2] - 范围长度(天数)
    • {number} [dir=-1] - 方向:-1 取基准日期之前的 [len] 天,0 取基准日期前后各 [len] 天,1 取基准日期之后的 [len] 天
    • {string} [valueFormat="YYYY-MM-DD"] - 日期格式
  • 返回值:

    {string[]} 日期集合,按时间顺序排列

  • 示例:

getDateRange()
getDateRange('2023-1-1', 2, 0, 'YYYY/MM/DD')
getDateRange('2023-1-1', 2, 1)

getDaysInMonth

  • 说明:

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

  • 参数:

    • {(Date|string|number)} [date=new Date()] - 日期对象、日期字符串或时间戳
  • 返回值:

    {number} 指定月份的总天数

  • 示例:

getDaysInMonth()
getDaysInMonth('2023-6')

getDaysInYear

  • 说明:

    获取指定年份的总天数

  • 参数:

    • {(Date|number|string)} [year=new Date()] - 年份,可以是:
      • Date对象:将使用该日期对象的年份
      • 数字:直接作为年份使用
      • 字符串:将被解析为年份
  • 返回值:

    {number} 指定年份的总天数

  • 示例:

getDaysInYear()
getDaysInYear(2020)

getMonthsRange

  • 说明:

    根据指定日期获取指定范围的日期集合

  • 参数:

    • {(Date|string|number)} [date=new Date()] - 基准日期,可以是日期对象、日期字符串或时间戳
    • {number} [length=2] - 要获取的月份数量
    • {number} [dir=-1] - 方向:-1 获取之前的月份(默认),0 获取前后月份,1 获取之后的月份
    • {string} [valueFormat='YYYY-MM'] - 返回的日期格式
  • 返回值:

    {string[]} 月份集合,按时间顺序排列

  • 示例:

getMonthsRange()
getMonthsRange('2023-1-1', 2, 0, 'YYYY/MM')
getMonthsRange('2023-1', 2, 1)

getStartMonthOfQuarter

  • 说明:

    获取指定日期所在季度的开始月份,季度划分:1-3月为Q1,4-6月为Q2,7-9月为Q3,10-12月为Q4

  • 参数:

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

    {string} 季度开始月份

  • 示例:

getStartMonthOfQuarter()
getStartMonthOfQuarter('2022-2')

getDayOfYear

  • 说明:

    获取指定日期是当年中的第几天

  • 参数:

    • {(Date|string|number)} [date=new Date()] - 日期对象、日期字符串或时间戳
  • 返回值:

    日期在年中的天数索引

  • 示例:

getDayOfYear()
getDayOfYear('2022-2-1')
// 32

getWeekOfYear

  • 说明:

    获取指定日期在年中的周数(自然周)

  • 参数:

    • {(Date|string|number)} [date=new Date()] - 日期对象、日期字符串或时间戳
  • 返回值:

    日期在年中的周数(1-53)

  • 示例:

getWeekOfYear()
getWeekOfYear('2022-2-1')

getStartOfWeek

  • 说明:

    根据日期获取本周、上周、下周的开始日期(周一为一周开始)

  • 参数:

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

    {string} 周开始日期

  • 示例:

getStartOfWeek()
getStartOfWeek('2022-01-01', -1)
getStartOfWeek('2022-01-01')
getStartOfWeek('2022-01-01', 1)

getEndOfWeek

  • 说明:

    根据日期获得本周、上周、下周的结束日期(周日为一周结束)

  • 参数:

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

    {string} 周结束日期(周日)

  • 示例:

getEndOfWeek()
getEndOfWeek('2022-01-01', -1)
getEndOfWeek('2022-01-01', 0)
getEndOfWeek('2022-01-01', 1)

getStartOfMonth

  • 说明:

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

  • 参数:

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

    {string} 月开始日期

  • 示例:

getStartOfMonth()
getStartOfMonth(new Date('2022-01-01'), -1)
getStartOfMonth(new Date('2022-01-01'), 0)
getStartOfMonth(new Date('2022-01-01'), 1)

getEndOfMonth

  • 说明:

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

  • 参数:

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

    {string} 日期

  • 示例:

getEndOfMonth()
getEndOfMonth(new Date('2022-01-01'), -1)
getEndOfMonth(new Date('2022-01-01'), 0)
getEndOfMonth(new Date('2022-01-01'), 1)

getStartOfQuarter

  • 说明:

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

  • 参数:

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

    {string} 季度开始日期

  • 示例:

getStartOfQuarter()
getStartOfQuarter(new Date('2022-01-01'), -1)
getStartOfQuarter(new Date('2022-01-01'), 0)
getStartOfQuarter(new Date('2022-01-01'), 1)

getEndOfQuarter

  • 说明:

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

  • 参数:

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

    {string} 季度结束日期

  • 示例:

getEndOfQuarter()
getEndOfQuarter(new Date('2022-01-01'), -1)
getEndOfQuarter(new Date('2022-01-01'), 0)
getEndOfQuarter(new Date('2022-01-01'), 1)

getStartOfYear

  • 说明:

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

  • 参数:

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

    {string} 年开始日期

  • 示例:

getStartOfYear()
getStartOfYear('2022-01-01', -1)
getStartOfYear('2022-01-01', 0)
getStartOfYear('2022-01-01', 1)

getEndOfYear

  • 说明:

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

  • 参数:

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

    {string} 年结束日期

  • 示例:

getEndOfYear()
getEndOfYear('2022-01-01', -1)
getEndOfYear('2022-01-01', 0)
getEndOfYear('2022-01-01', 1)

getDateOffset

  • 说明:

    获取指定日期的前几天日期,通过从指定日期中减去指定天数来计算目标日期

  • 参数:

    • {(Date|string|number)} [date=new Date()] - 基准日期,可以是日期对象、日期字符串或时间戳
    • {number} [len=1] - 要减去的天数,正数表示过去的日期,负数表示未来的日期
    • {string} [valueFormat="YYYY-MM-DD"] - 返回的日期格式
  • 返回值:

    {string} 日期

  • 示例:

getDateOffset(new Date())
getDateOffset(new Date(), 3)
getDateOffset(new Date(), 7)
getDateOffset(new Date(), 30, "YYYY年MM月DD日HH时mm分ss秒")

getDatesBetween

  • 说明:

    获取两个日期之间的所有日期(包含起始和结束日期,返回的日期数组按时间顺序排列,从早到晚

  • 参数:

    • {(Date|string|number)} [startDate=new Date()] - 开始日期,可以是日期对象、日期字符串或时间戳
    • {(Date|string|number)} [endDate=new Date()] - 结束日期,可以是日期对象、日期字符串或时间戳
    • {string} [valueFormat="YYYY-MM-DD"] - 返回的日期格式
  • 返回值:

    {string[]} 日期数组

  • 示例:

getDatesBetween()
getDatesBetween('2022-1-1', '2022-1-5')

timeAgo

  • 说明:

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

  • 参数:

    • {(Date|number)} date - 时间对象或时间戳
    • {Object} [opt] - 选项配置
      • {string} [opt.year='年前'] - 天的单位
      • {string} [opt.month='月前'] - 小时的单位
      • {string} [opt.week='周前'] - 分钟的单位
      • {string} [opt.day='天前'] - 小时的单位
      • {string} [opt.hour='小时前'] - 天的单位
      • {string} [opt.minute='分钟前'] - 秒的单位
      • {string} [opt.second='秒前'] - 秒的单位
      • {string} [opt.just='刚刚'] - 刚刚
  • 返回值:

    {string} 时间差

  • 示例:

timeAgo()
timeAgo('2024-12-20 15:22:20')

getTimeSlotByStep

  • 说明:

    根据步长获取时间间隔

  • 参数:

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

    {string[]} 时间间隔数组

  • 示例:

getTimeSlotByStep()
getTimeSlotByStep(60)

sToHms

  • 说明:

    秒转时分秒格式

  • 参数:

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

    {string} x时x分x秒

  • 示例:

sToHms(7200)
最近更新: 2025/12/12 01:47
Contributors: yf_hu
Prev
Object
Next
Function