日期时间格式化,兼容IOS苹果系统

一、功能

介绍

处理日期和时间,主要包括格式化日期和时间、一些在开发中一些经常对时间处理和判断、公历日期转换农历日期、 解决C端苹果时间显示兼容问题【实例化参数为时间戳、-横杠、/斜杠日期字符串】

安装:

npm install wh-date

实例化方式

const Wdate = require('wh-date')

const newData = new Wdate(); // 默认本地时间
const newData = new Wdate(milliseconds/seconds);
const newData = new Wdate(dateString);

用法

const Wdate = require('wh-date')

const newData = new Wdate() // 系统当前时间
const newData = new Wdate('2022-01-26 10:00:00') 
const newData = new Wdate('2022-01-26') // 日期格式1
const newData = new Wdate('2022-01-26 10:10') // 日期格式2
const newData = new Wdate('2022-01-26 10:10:01') // 日期格式3
const newData = new Wdate('2022/01/26 10:10:01') // 日期格式4
const newData = new Wdate(1645586844) // 时间戳10位
const newData = new Wdate(1645586880682) // 时间戳13位

注意: C端苹果手机兼容性问题,方式三:仅支持参数为-横杠2022-02-25 10:02:10/斜杠2022/02/25 10:02:10表示日期方法

format格式化日期字符说明

传入字符串,更新指定字符串替换相应的值进行显示

参数字符串说明
yy
MM
dd
HH小时 24小时制
hh小时 12小时制
mm分钟
ss
ww星期

二、方法列表

方法功能说明版本
常规方法
getYear返回年份
getMonth返回月份(1-12)
getDate返回月中的第几天(1-31)
getHours返回小时(1-12/1-24小时制)
getMinutes返回分钟(1-59)
getSeconds返回秒(1-59)
getMilliseconds返回毫秒(1-999)
getTime返回自 1970 年 1 月 1 日午夜以来与指定日期的毫秒数/秒数
getDay返回星期(0-6)
get返回年月日时分秒毫秒【根据参数返回】
扩展方法
getMonthCountDay返回当月最后一天数
getQuarter返回季节(1-4)V1.0.4
getAge返回年龄(大于等0的整数)V1.0.5
getCconstellation返回星座V1.0.5
getDayOfYear返回日期是当年的多少天V1.0.6
getAdd返回日期相加的新日期V1.0.8
getSubtract返回日期相减的新日期V1.0.8
getDateDiff返回日期相差天、时、总小时、分、秒、时间戳V1.0.8
getDiffDay返回日期相差天数(自然天数)V1.0.8
格式化数据方法
getTimeFrame返回不同时间段特定文案,默认AM(上午0-12点) , PM(下午12-24点)
getAllDate返回格式化日期,默认返回yyy-MM-dd格式
getAllTime返回格式化时间,默认返回hh:mm:ss格式
getFormat返回格式化日期,默认返回yyy-MM-dd hh:mm:ss格式V1.0.8
getFormatOne返回格式化日期:
当天日期:显示hh:ss
7天内:显示星期ww
7天前:显示yyy-MM-dd hh:mm:ss
getFuture返回传入时间戳有多少天、时、分、秒、时间戳
农历日期方法
getLunarZodiac返回农历生肖鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪V1.0.5
getLunar返回农历日期数字/汉字/干支/润月信息V1.0.5
日期判断方法
isValid判断日期是否合法V1.0.4
isLeapYear判断是否是闰年
isBefore判断日期在指定日期前V1.0.4
isSame判断日期是否相同V1.0.4
isAfter判断日期在指定日期后V1.0.4
isBetween判断指定日期是否在传入日期之间V1.0.8
isThisYear判断是否是当年V1.0.6
isThisMonth判断是否是当月V1.0.6
isThisWeek判断是否是当前周V1.0.6
isToday判断是否是当天V1.0.6
isWorkDay判断是否是工作日/周末V1.0.6
日期转换方法
toString返回包含时间信息的 stringV1.0.8
toArray返回将日期转换数组V1.0.8
toJSON返回序列化为 ISO 8601 格式的字符串V1.0.8
toObject返回包含时间信息的 ObjectV1.0.8
日期设置方法
setYear设置日期的年份V1.0.8
setMonth设置日期的月份V1.0.8
setDate设置日期中月的某一天V1.0.8
setHours设置日期的小时V1.0.8
setMinutes设置日期的分钟数V1.0.8
setSeconds设置日期的秒数V1.0.8
setMilliseconds设置日期的毫秒数V1.0.8
set设置年月日时分秒毫秒【根据参数设置】V1.0.8
setStartOf设置到一个时间的开始V1.0.8
setEndOf设置到一个时间的结束V1.0.8

三、方法说明

1、常规方法

getYear

  • 功能:获取年份

  • 参数:无

  • 返回值:返回年份

  • 返回数据类型Number

  • 用法

    const newData = new Wdate()
    console.log(newData.getYear()) // 2022
    

getMonth

  • 功能:获取月份

  • 参数:(isFillZero)

    参数名参数类型参数默认值参数说明
    isFillZeroBooleanfalse是否补0,小于10前边补零
  • 返回值:返回月份1-12|01-12

  • 返回数据类型Number|String

  • 用法

    const newData = new Wdate('2022-01-27 13:05:03')
    console.log(newData.getMonth()) // 1
    console.log(newData.getMonth(true)) // 01
    

getDate

  • 功能:获取当月第几天

  • 参数:(isFillZero)

    参数名参数类型参数默认值参数说明
    isFillZeroBooleanfalse是否补0,小于10前边补零
  • 返回值:返回当月第几天1-31|01-31

  • 返回数据类型Number|String

  • 用法

    const newData = new Wdate('2022-01-27 13:05:03')
    console.log(newData.getDate()) // 27
    console.log(newData.getDate(true)) //27
    

getHours

  • 功能:获取小时

  • 参数:(isFillZero, isTwentyFour)

    参数名参数类型参数默认值参数说明
    isFillZeroBooleanfalse是否补0,小于10前边补零
    isTwentyFourBooleantrue是否是24小时制
  • 返回值:返回小时0-24|00-24, 如果12小时制返回0-12|00-12

  • 返回数据类型Number|String

  • 用法

    const newData = new Wdate() // 当前日期2022年1月27日 13:05:03
    console.log(newData.getHours()) // 13 24小时制
    console.log(newData.getHours(false,false)) //1 12小时制不补零
    console.log(newData.getHours(true,false)) //01 12小时制补零
    

getMinutes

  • 功能:获取分钟

  • 参数:(isFillZero)

    参数名参数类型参数默认值参数说明
    isFillZeroBooleanfalse是否补0,小于10前边补零
  • 返回值:返回分钟0-59|00-59

  • 返回数据类型Number|String

  • 用法

    const newData = new Wdate() // 当前日期2022年1月27日 13:05:03
    console.log(newData.getMinutes()) // 5
    console.log(newData.getMinutes(true)) // 05 不足10补0
    

getSeconds

  • 功能:获取秒数

  • 参数:(isFillZero)

    参数名参数类型参数默认值参数说明
    isFillZeroBooleanfalse是否补0,天数小于10前边补零
  • 返回值:返回秒数0-59|00-59

  • 返回数据类型Number|String

  • 用法

    const newData = new Wdate() // 当前日期2022年1月27日 13:05:03
    console.log(newData.getSeconds()) // 3
    console.log(newData.getSeconds(true)) //03 不足10补0
    

getMilliseconds

  • 功能:获取毫秒数

  • 参数:(isFillZero)

    参数名参数类型参数默认值参数说明
    isFillZeroBooleanfalse是否补0,天数小于10前边补零
  • 返回值:返回毫秒数0-999|00-999

  • 返回数据类型Number|String

  • 用法

    const newData = new Wdate(1643264411611)
    console.log(newData.getMilliseconds()) // 611
    

getTime

  • 功能:获取时间戳

  • 参数:(length)

    参数名参数类型参数默认值参数说明
    lengthNumber1313毫秒、10秒
  • 返回值:返回时间戳毫秒、秒,返回数据类型:Number

  • 用法

    const newData = new Wdate('2008-02-01 10:02:02')
    console.log(newData.getTime()) // 1643265801333  毫秒13位
    console.log(newData.getTime(10)) // 1643265801 秒10位
    console.log(newData.getTime(12)) //传入参数非法
    

getDay

  • 功能:返回星期

  • 参数:(isChinese)

    参数名参数类型参数默认值参数说明
    isChineseBooleantrue是否显示中文
  • 返回值:返回星期,返回数据类型:Number|String, Number 返回(0、1、2、3、4、5、6),0代表星期日, String返回大写(一、二、三、四、五、六、日)

  • 用法

    const newData = new Wdate() // 当前日期2022年1月27日 13:05:03
    console.log(newData.getDay()) // 四
    console.log(newData.getDay(false)) // 4
    

get

  • 功能:设置指定年月日时分秒毫秒

  • 参数:(unit,isFillZero)

    参数名参数类型参数默认值参数说明
    unit*Numberdate设置的数值
    isFillZeroBooleantrue是否补0

    unit参数类型说明:

    ID参数值缩写说明
    1yeary
    2monthM(大写)
    3dated
    4hourH(大写)小时
    5minutem分钟
    6seconds秒钟
    7millisecondms毫秒
  • 用法

    const dateTime = "2022-04-14 12:22:32"
    console.log(new Wdate(dateTime).get('year')) // 2022
    console.log(new Wdate(dateTime).get('month')) // 4
    console.log(new Wdate(dateTime).get('month', true)) // 04   不足10前边补0
    console.log(new Wdate(dateTime).get('date')) // 14
    console.log(new Wdate(dateTime).get('hour')) // 12
    console.log(new Wdate(dateTime).get('minute')) // 22
    console.log(new Wdate(dateTime).get('second')) // 32
    console.log(new Wdate(dateTime).get('millisecond')) // 0
    

    unit缩写模式

    const dateTime = "2022-04-14 12:22:32"
    console.log(new Wdate(dateTime).get()) // 14 默认为天
    console.log(new Wdate(dateTime).get('y')) // 2022
    console.log(new Wdate(dateTime).get('M')) // 4
    console.log(new Wdate(dateTime).get('d')) // 14
    console.log(new Wdate(dateTime).get('H')) // 12
    console.log(new Wdate(dateTime).get('m')) // 22
    console.log(new Wdate(dateTime).get('s')) // 32
    console.log(new Wdate(dateTime).get('ms')) // 0
    

2、扩展方法

getMonthCountDay

  • 功能:获取当月总天数

  • 参数:无

  • 返回值:2月【28】、2月闰年【29】、4、6、9、11月【30】、1、3、5、7、8、10、12月【31】

  • 返回数据类型Number

  • 用法

    const newData = new Wdate('2008-02-01 10:02:02')
    console.log(newData.getMonthCountDay()) // 29
    
    const newData = new Wdate()
    console.log(newData.getMonthCountDay()) // 31
    

getQuarter

  • 功能:获取季度

  • 参数:(forMartText)

    forMartText是自定义格式为一个长度为4的数组,数组下标0-3分别对应1-4季,最终返回自定义文案

    参数名参数类型参数默认值参数说明
    forMartTextArray自定义格式
  • 返回值:1-4, 1-3月返回1,4-6月返回2,7-9月返回3,10-12月返回4

  • 返回数据类型Number|String【自定义格式】

  • 用法

    const newData = new Wdate('2022-02-14 12:20:20')
    
    console.log(newData.getQuarter(['第一季度','第二季度','第三季度','第四季度'])) // 第一季度
    console.log(newData.getQuarter(['春','夏','秋','冬'])) // 春
    console.log(newData.getQuarter()) // 1
    

getAge

  • 功能:获取年龄

  • 参数:无

  • 返回值:大于等于0的整数

  • 返回数据类型Number

  • 用法

    const newData = new Wdate('1992-04-24') 
    console.log(newData.getAge()) // 29
    
    const newData = new Wdate('1992-01-01') 
    console.log(newData.getAge()) // 30
    

注意:实例化日期不能大于当前日期

getCconstellation

  • 功能:获取星座

  • 参数:无

  • 返回值:12星座白羊座、金牛座、双子座、巨蟹座、狮子座、处女座、天秤座、天蝎座、射手座、摩羯座、水瓶座、双鱼座

  • 返回数据类型String

  • 星座和时间对应表:

    ID星座名称对应日期
    1水瓶座1.20 - 2.18
    2双鱼座2.19 - 3.20
    3白羊座3.21 - 4.19
    4金牛座4.20 - 5.20
    5双子座5.21 - 6.21
    6巨蟹座6.22 - 7.22
    7狮子座7.23 - 8.22
    8处女座8.23 - 9.22
    9天秤座9.23 - 10.23
    10天蝎座10.24 - 11.22
    11射手座11.23 - 12.21
    12摩羯座12.22 - 1.19
  • 用法

const newData = new Wdate('1992-2-22')
console.log(newData.getCconstellation()) // 双鱼座

getDayOfYear

  • 功能:返回是当年的多少天

  • 参数:无

  • 返回值:1-366

  • 返回数据类型Number

  • 用法

    const newData = new Wdate('2022-01-05')
    console.log(newData.getDayOfYear()) // 5
    

getAdd

  • 功能:返回增加一定时间的新时间

  • 参数:(size, unit, formart)

    format参数传值参考格式化数据方法

    参数名参数类型参数默认值参数说明
    sizeNumber0/ 如果为负数则同getSubtract方法一样大小
    unitStringdate类型
    formartStringyy-MM-dd HH:mm:ss格式化格式

    unit参数类型说明:

    ID参数值缩写说明
    1yeary
    2monthM(大写)
    3dated
    4hourH(大写)小时
    5minutem分钟
    6seconds秒钟
    7millisecondms毫秒
    8quarterQ(大写)
    9weekw
  • 返回值:格式化日期

  • 返回数据类型:String

  • 用法

    
    console.log(new Wdate('2022-02-22 12:12:12').getAdd(1, 'year') // 2023-02-22 12:12:12
    console.log(new Wdate('2022-02-22 12:12:12').getAdd(1, 'month')) // 2022-04-22 12:12:12
    console.log(new Wdate('2022-02-22 12:12:12').getAdd(1, 'date')) // 2022-02-23 12:12:12
    console.log(new Wdate('2022-02-22 12:12:12').getAdd(1, 'hour')) // 2022-02-22 13:12:12
    console.log(new Wdate('2022-02-22 12:12:12').getAdd(1, 'minute')) // 2022-02-22 12:13:12
    console.log(new Wdate('2022-02-22 12:12:12').getAdd(1, 'second')) // 2022-02-22 12:12:13
    console.log(new Wdate('2022-02-22 12:12:12').getAdd(2000, 'millisecond')) // 2022-02-22 12:12:14
    console.log(new Wdate('2022-02-22 12:12:12').getAdd(1, 'quarter')) // 2022-06-22 12:12:12
    console.log(new Wdate('2022-02-22 12:12:12').getAdd(1, 'week')) // 2022-03-01 12:12:12
    

getSubtract

  • 功能:返回减少一定时间的新时间

  • 参数:(size, unit, formart)

    format参数传值参考格式化数据方法

    参数名参数类型参数默认值参数说明
    sizeNumber0/ 如果为负数则同getAdd方法一样大小
    unitStringdate类型
    formartStringyy-MM-dd HH:mm:ss格式化格式

    unit参数类型说明:

    ID参数值缩写说明
    1yeary
    2monthM(大写)
    3dated
    4hourH(大写)小时
    5minutem分钟
    6seconds秒钟
    7millisecondms毫秒
    8quarterQ(大写)
    9weekw
  • 返回值:格式化日期

  • 返回数据类型:String

  • 用法

    默认值天数
    console.log(new Wdate('2022-02-22 12:12:12').getAdd(10)) //2022-03-04 12:12:12
    
    传参模式
    console.log(new Wdate('2022-02-22 12:12:12').getSubtract(1, 'year')) // 2021-02-22 12:12:12
    console.log(new Wdate('2022-02-22 12:12:12').getSubtract(1, 'month')) // 2022-01-22 12:12:12
    console.log(new Wdate('2022-02-22 12:12:12').getSubtract(1, 'date')) // 2022-02-21 12:12:12
    console.log(new Wdate('2022-02-22 12:12:12').getSubtract(1, 'hour')) // 2022-02-22 11:12:12
    console.log(new Wdate('2022-02-22 12:12:12').getSubtract(1, 'minute')) // 2022-02-22 12:11:12
    console.log(new Wdate('2022-02-22 12:12:12').getSubtract(1, 'second')) // 2022-02-22 12:12:11
    console.log(new Wdate('2022-02-22 12:12:12').getSubtract(2000, 'millisecond')) // 2022-02-22 12:12:10
    console.log(new Wdate('2022-02-22 12:12:12').getSubtract(1, 'quarter')) // 2021-11-22 12:12:12
    console.log(new Wdate('2022-02-22 12:12:12').getSubtract(1, 'week')) // 2022-02-15 12:12:12
    缩写模式
    console.log(new Wdate('2022-02-22 12:12:12').getAdd(1, 'y')) // 2023-02-22 12:12:12
    console.log(new Wdate('2022-02-22 12:12:12').getAdd(1, 'M')) // 2022-04-22 12:12:12
    console.log(new Wdate('2022-02-22 12:12:12').getAdd(1, 'd')) // 2022-02-23 12:12:12
    console.log(new Wdate('2022-02-22 12:12:12').getAdd(1, 'H')) // 2022-02-22 13:12:12
    console.log(new Wdate('2022-02-22 12:12:12').getAdd(1, 'm')) // 2022-02-22 12:13:12
    console.log(new Wdate('2022-02-22 12:12:12').getAdd(1, 's')) // 2022-02-22 12:12:13
    console.log(new Wdate('2022-02-22 12:12:12').getAdd(2000, 'ms')) // 2022-02-22 12:12:14
    console.log(new Wdate('2022-02-22 12:12:12').getAdd(1, 'Q')) // 2022-06-22 12:12:12
    console.log(new Wdate('2022-02-22 12:12:12').getAdd(1, 'w')) // 2022-03-01 12:12:12
    

getDateDiff

  • 功能:获取日期相减后的信息, 计算方法: 实例化日期 — 传入日期【参数dateTime】

  • 参数:(dateTime)

    format参数传值参考格式化数据方法

    参数名参数类型参数默认值参数说明
    dateTimeString|Number系统当前日期运算日期
  • 返回值:格式化日期

  • 返回数据类型:Object/String[两个日期相同]

  • 用法

    情景1: 比较日期相同

    console.log(new Wdate().getDateDiff()) // 两个日期相同
    

    情景2:实例化日期在传入日期之前

    console.log(new Wdate('2022-03-03 12:00:00').getDateDiff('2022-03-04 03:30:30'))
    // 打印结果
    {
      day: 0, // 总天数
      hours: 15,
      hoursCount: 15, // 总小时
      minutes: 30,
      seconds: 30,
      timestamp: -55830000 // 结果为负数
    }
    

    情景3:实例化日期在传入日期之后

    console.log(new Wdate('2022-03-03 12:00:00').getDateDiff('2022-03-02 03:30:30'))
    {
      day: 1,
      hours: 8,
      hoursCount: 32,
      minutes: 29,
      seconds: 30,
      timestamp: 116970000
    }
    

getDiffDay

  • 功能:获取日期相减后自然天数(日期计算,不考虑时间), 计算方法: 实例化日期 — 传入日期【参数dateTime】

  • 参数:(dateTime)

    format参数传值参考格式化数据方法

    参数名参数类型参数默认值参数说明
    dateTimeString|Number系统当前日期运算日期
  • 返回值:格式化日期

  • 返回数据类型:Number

  • 用法

    情景1: 同一天

    console.log(new Wdate().getDiffDay()) // 0
    

    情景2:实例化日期在传入日期之前

    console.log(new Wdate('2022-03-03 12:00:00').getDiffDay('2022-03-04 03:30:30')) // -1
    

    情景2:实例化日期在传入日期之后

    console.log(new Wdate('2022-03-03 12:00:00').getDiffDay('2022-03-02 03:30:30')) // 1
    

3、格式化数据方法

getTimeFrame

  • 功能:根据时间段返回特定文案

  • 参数:(hour, text)

    hour和text数字长度必须一致,text定义时间范围的下标对应hour数字下标里面展示的内容

    参数名参数类型参数默认值参数说明
    hourArray[‘AM’, ‘PM’]定义显示文案
    textArray[{start: 0, end: 12},{start: 12, end: 24}]定义时间段范围
  • 返回值:AM,PM ,自定义文案

  • 返回数据类型:String

  • 用法

    const newData = new Wdate() // 当前日期2022年1月27日 13:05:03
    // 默认值
    text = ['AM', 'PM']
    hour = [{start: 0, end: 12},{start: 12, end: 24}
    console.log(newData.getTimeFrame()) // PM   
    

    自定义指定时间显示指定文案

    const newData = new Wdate()
    
    const text = ['凌晨', '早上', '上午', '中午', '下午', '晚上', '深夜']
    const hour = [
      { start: 0, end: 4 },
      { start: 4, end: 8 },
      { start: 8, end: 12 },
      { start: 12, end: 14 },
      { start: 14, end: 18 },
      { start: 18, end: 22 },
      { start: 22, end: 24 },
    ]
    console.log(newData.getTimeFrame(text, hour))
    

getAllDate

  • 功能:格式化日期

  • 参数:(format,isFillZero)

    参数名参数类型参数默认值参数说明
    formatStringyy-MM-dd定义日期格式
    isFillZeroBooleantrue是否补0
  • 返回值:年-月-日、自定义格式

  • 返回数据类型String

  • 用法

    const newData = new Wdate()
    console.log(newData.getAllDate('yy年MM月dd日')) // 2022年01月27日
    console.log(newData.getAllDate('yy年MM月dd日',false)) // 2022年1月27日
    console.log(newData.getAllDate('MM月dd日')) //01月27日
    console.log(newData.getAllDate('yy年MM月')) //2022年01月
    

getAllTime

  • 功能:格式化时间

  • 参数:(format,isFillZero)

    参数名参数类型参数默认值参数说明
    formatStringHH-mm-ss定义时间格式
    isFillZeroBooleantrue是否补0
  • 返回值:时:分:秒、自定义格式

  • 返回数据类型String

  • 用法

    const newData = new Wdate()
    console.log(newData.getAllTime('HH:mm:ss')) // 14:12:02
    console.log(newData.getAllTime('hh:mm:ss')) // 02:12:02
    console.log(newData.getAllTime('mm:ss')) // 12:02
    console.log(newData.getAllTime('HH:mm')) // 14:12
    

getFormat

  • 功能:格式化日期时间

  • 参数:(format,isFillZero)

    参数名参数类型参数默认值参数说明
    formatStringyy-MM-dd HH:mm:ss定义日期时间格式
    isFillZeroBooleantrue是否补0
  • 返回值:年-月-日 时:分:秒、自定义格式

  • 返回数据类型String

  • 用法

    const newData = new Wdate()
    console.log(newData.getFormat()) // 2022-01-27 14:57:51 默认格式
    console.log(newData.getFormat('yy年')) // 2022年
    console.log(newData.getFormat('yy年MM月')) // 2022年01月
    console.log(newData.getFormat('yy年MM月dd日'))  // 2022年01月27日
    console.log(newData.getFormat('yy年MM月dd日', false))  //2022年1月27日 
    console.log(newData.getFormat('MM月yy年')) //01月2022年
    console.log(newData.getFormat('yy.MM.dd'))  //2022.01.27
    console.log(newData.getFormat('yy.MM.dd hh.mm.ss'))  // 2022.01.27 03:03:46
    console.log(newData.getFormat('yy.MM.dd hh时mm分ss秒 星期ww'))  // 2022.01.27 04时07分41秒 星期四
    console.log(newData.getFormat('yy.MM.dd hh时mm分ss秒 星期ww', false)) // 2022.1.27 4时7分41秒 星期四
    console.log(newData.getFormat('hh时mm分ss秒 星期ww'))  // 04时08分47秒 星期四
    console.log(newData.getFormat('星期ww hh时mm分ss秒')) // 星期四 04时08分47秒
    console.log(newData.getFormat('今天是dd日, HH时mm分'))  //今天是27日, 16时10分
    

getFormatOne

  • 功能:格式化日期时间, 7天前日期显示日期时间格式、当天显示时间格式、7天内显示星期格式

  • 参数:(format,isFillZero)

    参数名参数类型参数默认值参数说明
    formatObject{
    sevenIn: ‘星期ww’,
    sevenOut: ‘yy-MM-dd HH:mm:ss’,
    today: ‘今天是HH:ss:mm’
    }
    定义7天前日期时间格式
    isFillZeroBooleantrue是否补0

    format参数说明:参数说明参考***format格式化日期字符说明***

    {
      sevenIn: '星期ww',  // 7天内时间显示格式
      sevenOut: 'yy-MM-dd HH:mm:ss', // 七天以外显示格式
      today: '今天是HH:ss:mm' // 当天显示格式
    }
    
  • 返回值:年-月-日 时:分:秒、星期一-星期日、时:分:秒/ 自定义格式

  • 返回数据类型String

  • 用法

    
    const newData = new Wdate()
    console.log(newData.getFormatOne()) // 15:26:36
    console.log(newData.getFormatOne({today: '今天是HH:ss:mm'})) // 今天是15:36:26
    
    const newData = new Wdate('2022-02-28 12:12:00')
    console.log(newData.getFormatOne({sevenIn: 'yy年MM月dd日'})) // 2022年02月28日
    
    const newData = new Wdate('2022-02-22 12:12:00')
    console.log(newData.getFormatOne({sevenOut: 'yy年MM月dd日 HH点mm分ss秒 周ww'})) // 2022年02月22日 12点12分00秒 周二
    

getFuture

  • 功能:根据倒计时时间戳获取天、时、分、秒、时间戳

  • 参数

    参数名参数类型参数默认值参数说明
    timestampString无/未传值用实例化日期时间戳减去系统日期时间戳倒计时时间戳
  • 返回值

    { 
    	day: 2, // 天
    	hours: 23, // 小时
        hoursCount: 71 总小时
    	minutes: 57, // 分钟
    	seconds: 2, // 秒
    	timestamp: 259022746
    }
    
  • 返回数据类型Object

  • 用法

    主要用于做倒计时使用,根据倒计时的时间戳,格式化显示天、时、分、秒

    const newData = new Wdate()
    
    console.log(newData.getFuture(250000000))
    打印结果
    { day: 2, hours: 69, minutes: 26, seconds: 40, timestamp: 250000000 }
    
    不传参数,用实例化日期和当前日期相减计算取绝对值计算返回
    const newData = new Wdate('2022-02-28 17:01:00') // 时间戳13位
    
    console.log(newData.getFuture()) 
    console.log(new Date())
    {
      day: 2,
      hours: 23,
      hoursCount: 71,
      minutes: 57,
      seconds: 2,
      timestamp: 259022746
    }
    2022-02-25T09:03:57.262Z
    

4、农历日期方法

getLunarZodiac

  • 功能:获取农历生肖

  • 参数:无

  • 返回值:12生肖鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪

  • 返回数据类型String

  • 用法

    const newData = new Wdate('2022-02-27 14:12:02')
    console.log(newData.getLunarZodiac()) // 虎
    
    const newData = new Wdate('2022-01-27 14:12:02') // 系统当前时间
    console.log(newData.getLunarZodiac()) // 牛
    

    注意:大致根据农历正月初一以后进行判断,精确判断应该根据农历第一个节气

getLunar

  • 功能:返回农历日期数字/汉字/干支/润月信息【返回1901-2099年农历日期信息】

  • 参数:无

  • 返回值

    {
      lunarYear: 2021, // 农历年
      lunarMonth: 12, // 农历月
      lunarDay: 25, // 农历日
      lunarYearCN: '二零二一', // 汉字表示农历年
      lunarMonthCN: '腊月', // 汉字表示农历月
      lunarDayCN: '廿十五', // 汉字表示农历日
      lunarLeapMonth: 0, // 当年润月份,0表示无闰月
      lunarIsLeapMonth: false, // 当年月是否是闰月
      lunarZodiac: '牛', // 农历生肖
      ganZhiYear: '辛丑', // 干支表示年
      ganZhiMonth: '辛丑', // 干支表示月
      ganZhiDay: '庚辰', // 干支表示日
      lunarHourCn: '未时' // 地址表示时辰
    }
    
  • 返回数据类型Object

  • 用法

    const newData = new Wdate() // 系统当前时间
    
    console.log(newData.getLunar())
    {
      lunarYear: 2022,
      lunarMonth: 1,
      lunarDay: 23,
      lunarYearCN: '二零二二',
      lunarMonthCN: '正月',
      lunarLeapMonth: 0,
      lunarIsLeapMonth: false,
      lunarDayCN: '廿十三',
      lunarZodiac: '虎',
      ganZhiYear: '壬寅',
      ganZhiMonth: '壬寅',
      ganZhiDay: '丁未',
      lunarHourCn: '巳时'
    }
    

5、日期判断方法

isValid

  • 功能:检验日期是否合法

  • 参数:(date, res)

    参数名参数类型参数默认值参数说明
    date*Any检验的日期
    resBooleanfalse结果为true, 返回new Date() 实例化的日期
  • 返回值:true/false/{ date: 2022-02-25T00:00:00.000Z, timestamp: 1645747200000, res: true }

  • 返回数据类型Boolean|Object

  • 用法

    console.log(newData.isValid('2022-02-25', true)) // { date: 2022-02-25T00:00:00.000Z, timestamp: 1645747200000, res: true }
    console.log(newData.isValid('2022-02-25')) // ture
    console.log(newData.isValid('2022-02-aa')) // falseisLeapYear
    

isLeapYear

  • 功能:判断是否是闰年

  • 参数:无

  • 返回值:true/false

  • 返回数据类型Boolean

  • 用法

    const newData = new Wdate()
    console.log(newData.isLeapYear()) // false
    
    const newData = new Wdate('2008-01-01 10:02:02')
    console.log(newData.isLeapYear()) // true
    

isBefore

  • 功能:判断传入日期是否在指定日期之前

  • 参数:(compareDate)

    参数名参数类型参数默认值参数说明
    compareDate*String比较的日期
  • 返回值:true/false

  • 返回数据类型Boolean

  • 用法

    const newData = new Wdate('2022-02-14 12:20:20') // 指定日期
    
    console.log(newData.isBefore('2022-02-14 12:20:19')) // true
    console.log(newData.isBefore('2022-02-14 12:20:22')) // false
    

isSame

  • 功能:判断传入日期是否与指定日期相同

  • 参数:(compareDate)

    参数名参数类型参数默认值参数说明
    compareDate*String比较的日期
  • 返回值:true/false

  • 返回数据类型Boolean

  • 用法

    const newData = new Wdate('2022-02-14 12:20:20') // 指定日期
    
    console.log(newData.isSame('2022-02-14 12:20:20')) // 传入日期  true
    console.log(newData.isSame('2022-02-14 12:20:22')) // 传入日期  false
    

isAfter

  • 功能:判断传入日期是否与指定日期之后

  • 参数:(compareDate)

    参数名参数类型参数默认值参数说明
    compareDate*String比较的日期
  • 返回值:true/false

  • 返回数据类型Boolean

  • 用法

    const newData = new Wdate('2022-02-14 12:20:20') // 指定日期
    
    console.log(newData.isAfter('2022-02-14 12:20:18')) // false
    console.log(newData.isAfter('2022-02-14 12:20:21')) // ture
    

isBetween

  • 功能:判断指定日期是否在传入日期范围(大于等于开始时间,小于等于结束时间)

  • 参数:(startTime, endTime)

    日期支持格式和实例化参数日期格式一样

    参数名参数类型参数默认值参数说明
    startTime*String|Number范围开始时间
    endTime*String范围结束时间
  • 返回值:true/false

  • 返回数据类型Boolean

  • 用法

    console.log(new Wdate('2022-03-04 15:36:00').isBetween('2022-03-04 15:36:01', '2022-03-26 12:12:00')) // false
    console.log(new Wdate('2022-03-04 15:36:00').isBetween('2022-03-03 15:36:01', '2022-03-26 12:12:00')) // true
    console.log(new Wdate('2022-03-04 15:36:00').isBetween(1646379361000, 1648267920000)) // false
    console.log(new Wdate('2022-03-04 15:36:00').isBetween(1646292961000, 1648267920000)) // true
    

isThisYear

  • 功能:判断是否当年

  • 参数:无

  • 返回值:true/false

  • 返回数据类型Boolean

  • 用法

    const newData = new Wdate('2022-02-24 17:09:00') 
    console.log(newData.isThisYear()) // ture
    
    const newData = new Wdate('2023-02-24 17:09:00') 
    console.log(newData.isThisYear()) // false
    

isThisMonth

  • 功能:判断是否当月

  • 参数:无

  • 返回值:true/false

  • 返回数据类型Boolean

  • 用法

    const newData = new Wdate('2023-02-24 17:09:00') 
    console.log(newData.isThisMonth()) // false
    
    const newData = new Wdate('2022-02-24 17:09:00') 
    console.log(newData.isThisMonth()) // true
    

isThisWeek

  • 功能:判断是否本周

  • 参数:无

  • 返回值:true/false

  • 返回数据类型Boolean

  • 用法

    const newData = new Wdate('2022-02-24 17:09:00') 
    console.log(newData.isThisWeek()) // true
    
    const newData = new Wdate('2022-02-28 17:09:00') 
    console.log(newData.isThisWeek()) // false
    

isToday

  • 功能:判断是否是当天

  • 参数:无

  • 返回值:true/false

  • 返回数据类型Boolean

  • 用法

    const newData = new Wdate('2022-02-28 17:09:00') 
    console.log(newData.isToday()) // false
    
    const newData = new Wdate('2022-02-25 17:09:00') 
    console.log(newData.isToday()) // ture
    

isWorkDay

  • 功能:判断是否是工作日、周末, 不考虑法定假日

  • 参数:无

  • 返回值:true/false

  • 返回数据类型Boolean

  • 用法

    const newData = new Wdate('2022-02-25 17:09:00') 
    console.log(newData.isWorkDay()) // true
    
    const newData = new Wdate('2022-02-26 17:09:00') 
    console.log(newData.isWorkDay()) // false
    

6、日期转换方法

toString

  • 功能:序列化为 ISO 8601 格式的字符串

  • 参数:无

  • 返回值:序列化格式的字符串

  • 返回数据类型String

  • 用法

    console.log(new Wdate(1646705779112).toString()) // Tue Mar 08 2022 10:16:19 GMT+0800 (新加坡标准时间)
    

toArray

  • 功能:返回包含时间信息的 Array

  • 参数:(isFillZero)

    参数名参数类型参数默认值参数说明
    isFillZeroBooleanfalse是否补0
  • 返回值:时间信息的数组[‘年’,‘月’,‘日’,‘时’,‘分’,‘秒’,‘毫秒’]

  • 返回数据类型Array

  • 用法

    // 2022-03-08 10:16:19
    console.log(new Wdate(1646705779112).toArray()) // [2022, 3, 8, 10, 16, 19, 112]
    console.log(new Wdate(1646705779112).toArray(true)) // [ '2022', '03', '08', '10','16' ,'19', '112']
    

toJSON

  • 功能:序列化为 ISO 8601 格式的字符串

  • 参数:无

  • 返回值:序列化格式的字符串

  • 返回数据类型String

  • 用法

    console.log(new Wdate().toJSON()) // 2022-03-08T02:11:18.764Z
    

toObject

  • 功能:返回包含时间信息的 Object

  • 参数:(isFillZero)

    参数名参数类型参数默认值参数说明
    isFillZeroBooleanfalse是否补0
  • 返回值

    {
      year: 2022, // 年
      month: 1, // 月
      date: 27, // 日
      hours: 14, // 时
      minutes: 46, // 分
      seconds: 29, // 秒
      timestamp: 1643265989971 // 时间戳毫秒
    }
    
  • 返回数据类型Object

  • 用法

    console.log(new Wdate(1646705779112).toObject(true)) // 补零,所有值返回String
    打印结果:
    {
      year: '2022',
      month: '03',
      date: '08',
      hours: '10',
      minutes: '16',
      seconds: '19',
      timestamp: '1646705779112'
    }
    console.log(new Wdate(1646705779112).toObject()) // 默认不补零,所有值返回类型Number
    {
      year: 2022,
      month: 3,
      date: 8,
      hours: 10,
      minutes: 16,
      seconds: 19,
      timestamp: 1646705779112
    }
    

7、设置方法

以下所有set开头方法支持链式操作其他方法, 如果size传参错误,会抛出错误异常throw new Error('size参数错误');

例:

console.log(new Wdate('2022-03-08 12:12:12').set(2,'d').getFormat()) // 2022-03-02 12:12:12
console.log(new Wdate('2022-03-08 12:12:12').set(2020,'y').getFormat('将2022年修改为:yy')) // 将2022年修改为:2020
console.log(new Wdate('2022-03-08 12:12:12').set(2020,'y').getYear()) // 2022
console.log(new Wdate('2022-03-08 12:12:12').setYear(2020).getYear()) // 2022

setYear

  • 功能:设置日期的年份

  • 参数:(year)

    参数名参数类型参数默认值参数说明
    yearNumber0年份(年份参数只能在1970-2200年之间)
  • 用法

    console.log(new Wdate('2022-03-08 12:12:12').setYear(2).getYear()) // 抛出异常throw new Error('年份参数只能在1970-2200年之间')
    const newData = new Wdate('2022-03-08 12:12:12')
    newData.setYear(2020)
    console.log(newData.getYear()) // 2020
    链式操作:
    console.log(newData.setYear(2020).getYear()) // 2020
    

setMonth

  • 功能:设置日期的月份

  • 参数:(month)

    参数名参数类型参数默认值参数说明
    monthNumber0月份期望值是 1-12,但允许其他值:
    0 将导致上一年的最后一个月
    13 将导致明年的第1个月
  • 用法

    console.log(new Wdate('2022-03-08 12:12:12').setMonth(2).getFormat()) // 2022-02-08 12:12:12
    console.log(new Wdate('2022-03-08 12:12:12').setMonth(-1).getFormat()) // 2021-11-08 12:12:12 上一年的第二个月
    console.log(new Wdate('2022-03-08 12:12:12').setMonth(13).getFormat()) // 2023-01-08 12:12:12 下一年的第一个月
    

setDate

  • 功能:设置日期中月的某一天

  • 参数:(day)

    参数名参数类型参数默认值参数说明
    dayNumber0必需。整数,表示月中的某一天。
    预期值是 1-31,但允许其他值
    0 将导致上个月的最后一天
    -1 将导致上个月的最后一天的前一天
    如果一个月有 31 天:
    32 将导致下个月的第一天
    如果一个月有 30 天:
    32 将导致下个月的第二天
  • 用法

    console.log(new Wdate('2022-03-08 12:12:12').setDate(20).getFormat()) // 2022-03-20 12:12:12
    // 0 将导致上个月的最后一天
    console.log(new Wdate('2022-03-08 12:12:12').setDate(0).getFormat()) // 2022-02-28 12:12:12
    // -1 将导致上个月的最后一天的前一天
    console.log(new Wdate('2022-03-08 12:12:12').setDate(-1).getFormat()) // 2022-02-27 12:12:12
    // 如果一个月有 31 天:32 将导致下个月的第一天
    console.log(new Wdate('2022-03-08 12:12:12').setDate(32).getFormat()) // 2022-04-01 12:12:12
    // 如果一个月有 30 天32 将导致下个月的第二天
    console.log(new Wdate('2022-04-08 12:12:12').setDate(32).getFormat()) // 2022-05-02 12:12:12
    

setHours

  • 功能:设置日期中的小时

  • 参数:(hour)

    参数名参数类型参数默认值参数说明
    hourNumber0表示小时的整数。
    期望值是 0-23,但允许其他值:
    -1 将导致前一天的最后一个小时
    24 将导致第二天的第一个小时
  • 用法

    console.log(new Wdate('2022-04-08 12:12:12').setHours(13).getFormat()) // 2022-04-08 13:12:12
    console.log(new Wdate('2022-04-08 12:12:12').setHours(0).getFormat()) // 2022-04-08 00:12:12
    // -1 将导致前一天的最后一个小时
    console.log(new Wdate('2022-04-08 12:12:12').setHours(-1).getFormat()) // 2022-04-07 23:12:12
    // 24 将导致第二天的第一个小时
    console.log(new Wdate('2022-04-08 12:12:12').setHours(24).getFormat()) // 2022-04-09 00:12:12
    

setMinutes

  • 功能:设置日期中的分钟

  • 参数:(min)

    参数名参数类型参数默认值参数说明
    minNumber0表示分钟的整数
    期望值是 0-59,但允许其他值
    -1 将导致前一小时的最后一分钟
    60 将导致下一小时的第一分钟
  • 用法

    console.log(new Wdate('2022-04-08 12:12:12').setMinutes(25).getFormat()) // 2022-04-08 12:25:12
    console.log(new Wdate('2022-04-08 12:12:12').setMinutes(0).getFormat()) // 2022-04-08 12:00:12
    // -1 将导致前一小时的最后一分钟
    console.log(new Wdate('2022-04-08 12:12:12').setMinutes(-1).getFormat()) // 2022-04-08 11:59:12
    // 60 将导致下一小时的第一分钟
    console.log(new Wdate('2022-04-08 12:12:12').setMinutes(60).getFormat()) // 2022-04-08 13:00:12
    

setSeconds

  • 功能:设置日期中的秒

  • 参数:(sec)

    参数名参数类型参数默认值参数说明
    secNumber0表示秒钟的整数
    预期值为 0-59,但允许其他值:
    -1 将导致前一分钟的最后一秒
    60 将导致下一分钟的第一秒
  • 用法

    console.log(new Wdate('2022-04-08 12:12:12').setSeconds(25).getFormat()) // 2022-04-08 12:12:25
    console.log(new Wdate('2022-04-08 12:12:12').setSeconds(0).getFormat()) // 2022-04-08 12:12:00
    // -1 将导致前一分钟的最后一秒
    console.log(new Wdate('2022-04-08 12:12:12').setSeconds(-1).getFormat()) // 2022-04-08 12:11:59
    // 60 将导致下一分钟的第一秒
    console.log(new Wdate('2022-04-08 12:12:12').setSeconds(60).getFormat()) // 2022-04-08 12:13:00
    

setMilliseconds

  • 功能:设置日期中的毫秒

  • 参数:(millisec)

    参数名参数类型参数默认值参数说明
    millisecNumber0表示毫秒的整数
    预期值为 0-999,但允许其他值:
    -1 将导致前一秒的最后一毫秒
    1000 将导致下一秒的第一毫秒
  • 用法

    console.log(new Wdate('2022-04-08 12:12:12').setMilliseconds(25).toJSON()) // 2022-04-08T04:12:12.025Z
    console.log(new Wdate('2022-04-08 12:12:12').setMilliseconds(0).toJSON()) // 2022-04-08T04:12:12.000Z
    console.log(new Wdate('2022-04-08 12:12:12').setMilliseconds(-1).toJSON()) // 2022-04-08T04:12:11.999Z
    console.log(new Wdate('2022-04-08 12:12:12').setMilliseconds(1000).toJSON()) // 2022-04-08T04:12:13.000Z
    

set

  • 功能:设置指定年月日时分秒毫秒

  • 参数:(size, unit)

    参数名参数类型参数默认值参数说明
    size*Number设置的数值
    unitStringdate 默认设置日单位

    unit参数类型说明:

    ID参数值缩写说明
    1yeary
    2monthM(大写)
    3dated
    4hourH(大写)小时
    5minutem分钟
    6seconds秒钟
    7millisecondms毫秒
  • 用法

    const dateTime = "2022-04-04 12:12:12"
    console.log(new Wdate(dateTime).set(2).getFormat()) // 2022-04-02 12:12:12
    console.log(new Wdate(dateTime).set(2020, 'year').getFormat()) //2020-04-04 12:12:12
    console.log(new Wdate(dateTime).set(11, 'month').getFormat()) // 2022-11-04 12:12:12
    console.log(new Wdate(dateTime).set(11, 'date').getFormat()) // 2022-04-11 12:12:12
    console.log(new Wdate(dateTime).set(11, 'hour').getFormat()) // 2022-04-04 11:12:12
    console.log(new Wdate(dateTime).set(11, 'minute').getFormat()) // 2022-04-04 12:11:12
    console.log(new Wdate(dateTime).set(11, 'second').getFormat()) // 2022-04-04 12:12:11
    console.log(new Wdate(dateTime).set(11, 'millisecond').toJSON()) // 2022-04-04T04:12:12.011Z
    

    unit缩写模式

    const dateTime = "2022-04-04 12:12:12"
    console.log(new Wdate(dateTime).set(2).getFormat())
    console.log(new Wdate(dateTime).set(2020, 'y').getFormat())
    console.log(new Wdate(dateTime).set(11, 'M').getFormat())
    console.log(new Wdate(dateTime).set(11, 'd').getFormat())
    console.log(new Wdate(dateTime).set(11, 'H').getFormat())
    console.log(new Wdate(dateTime).set(11, 'm').getFormat())
    console.log(new Wdate(dateTime).set(11, 's').getFormat())
    console.log(new Wdate(dateTime).set(11, 'ms').toJSON())
    

setStartOf

  • 功能:设置时间为指定单位开始

  • 参数:(unit)

    参数名参数类型参数默认值参数说明
    unitStringyear单位

    unit参数类型说明:

    ID参数值缩写说明
    1yeary当年年1月1日上午 00:00
    2monthM(大写)当月月1日上午 00:00
    3dated当天 00:00
    4hourH(大写)当前时间,0 分、0 秒、0 毫秒
    5minutem当前时间,0 秒、0 毫秒
    6seconds当前时间,0 毫秒
    8quarterQ(大写)当季度第一个月1日上午 00:00
    9weekw当周的第一天上午 00:00【星期日为第一天】
    10weekMondaywm当周的第一天上午 00:00【星期一为第一天】
  • 用法

    const dateTime =1615004552333 // "2021-03-06 12:22:32 333"
    console.log(new Wdate(dateTime).getFormat('yy-MM-dd HH:mm:ss 毫秒ms 星期ww'))
    console.log(new Wdate(dateTime).setStartOf('y').getFormat('年:yy-MM-dd HH:mm:ss 毫秒ms 星期ww'))
    console.log(new Wdate(dateTime).setStartOf('M').getFormat('月:yy-MM-dd HH:mm:ss 毫秒ms 星期ww'))
    console.log(new Wdate(dateTime).setStartOf('d').getFormat('日:yy-MM-dd HH:mm:ss 毫秒ms 星期ww'))
    console.log(new Wdate(dateTime).setStartOf('Q').getFormat('季:yy-MM-dd HH:mm:ss 毫秒ms 星期ww'))
    console.log(new Wdate(dateTime).setStartOf('H').getFormat('时:yy-MM-dd HH:mm:ss 毫秒ms 星期ww'))
    console.log(new Wdate(dateTime).setStartOf('m').getFormat('分:yy-MM-dd HH:mm:ss 毫秒ms 星期ww'))
    console.log(new Wdate(dateTime).setStartOf('s').getFormat('秒:yy-MM-dd HH:mm:ss 毫秒ms 星期ww'))
    console.log(new Wdate(dateTime).setStartOf('w').getFormat('周[周日第一天]:yy-MM-dd HH:mm:ss 毫秒ms 星期ww'))
    console.log(new Wdate(dateTime).setStartOf('wm').getFormat('周[周一第一天]:yy-MM-dd HH:mm:ss 毫秒ms 星期ww'))
    // 2021-03-06 12:22:32 毫秒333 星期六 案例时间
    // 年:2021-01-01 00:00:00 毫秒0 星期五
    // 月:2021-03-01 00:00:00 毫秒0 星期一
    // 日:2021-03-06 00:00:00 毫秒0 星期六
    // 季:2021-01-01 00:00:00 毫秒0 星期五
    // 时:2021-03-06 12:00:00 毫秒0 星期六
    // 分:2021-03-06 12:22:00 毫秒0 星期六
    // 秒:2021-03-06 12:22:32 毫秒0 星期六
    // 周[周日第一天]:2021-02-28 00:00:00 毫秒0 星期日
    // 周[周一第一天]:2021-03-01 00:00:00 毫秒0 星期一
    

setEndOf

  • 功能:设置时间为指定单位末尾

  • 参数:(unit)

    参数名参数类型参数默认值参数说明
    unitStringyear单位

    unit参数类型说明:

    ID参数值缩写说明
    1yeary当年年12月31日下午 23:59:59
    2monthM(大写)当月最后一天 23:59:59
    3dated当天 23:59:59
    4hourH(大写)当前时间,59 分、59 秒、999 毫秒
    5minutem当前时间,59秒、999 毫秒
    6seconds当前时间,999毫秒
    8quarterQ(大写)当季度第三个月最后一天日下午23:59:59
    9weekw当周最后一天下午23:59:59【星期日为第一天】
    10weekMondaywm当周最后一天下午23:59:59【星期一为第一天】
  • 用法

    const dateTime = 1646819487333 // "2022-03-06 12:22:32 333"
    console.log(new Wdate(dateTime).getFormat('yy-MM-dd HH:mm:ss 毫秒ms 星期ww'))
    console.log(new Wdate(dateTime).setEndOf('y').getFormat('年:yy-MM-dd HH:mm:ss 毫秒ms 星期ww'))
    console.log(new Wdate(dateTime).setEndOf('M').getFormat('月:yy-MM-dd HH:mm:ss 毫秒ms 星期ww'))
    console.log(new Wdate(dateTime).setEndOf('d').getFormat('日:yy-MM-dd HH:mm:ss 毫秒ms 星期ww'))
    console.log(new Wdate(dateTime).setEndOf('Q').getFormat('季:yy-MM-dd HH:mm:ss 毫秒ms 星期wwQ'))
    console.log(new Wdate(dateTime).setEndOf('H').getFormat('时:yy-MM-dd HH:mm:ss 毫秒ms 星期ww'))
    console.log(new Wdate(dateTime).setEndOf('m').getFormat('分:yy-MM-dd HH:mm:ss 毫秒ms 星期ww'))
    console.log(new Wdate(dateTime).setEndOf('s').getFormat('秒:yy-MM-dd HH:mm:ss 毫秒ms 星期ww'))
    console.log(new Wdate(dateTime).setEndOf('w').getFormat('周【周六为最后一天】:yy-MM-dd HH:mm:ss 毫秒ms 星期ww'))
    console.log(new Wdate(dateTime).setEndOf('wm').getFormat('周【周日为最后一天】:yy-MM-dd HH:mm:ss 毫秒ms 星期ww'))
    
    // 2022-03-09 17:51:27 毫秒333 星期三
    // 年:2022-12-31 23:59:59 毫秒999 星期六
    // 月:2022-03-31 23:59:59 毫秒999 星期四
    // 日:2022-03-09 23:59:59 毫秒999 星期三
    // 季:2022-03-31 23:59:59 毫秒999 星期四Q
    // 时:2022-03-09 17:59:59 毫秒999 星期三
    // 分:2022-03-09 17:51:59 毫秒999 星期三
    // 秒:2022-03-09 17:51:27 毫秒999 星期三
    // 周【周六为最后一天】:2022-03-12 23:59:59 毫秒999 星期六
    // 周【周日为最后一天】:2022-03-13 23:59:59 毫秒999 星期日
    

四、版本更新记录

V1.0.4

​ 添加了以下方法

​ isAfter() 判断日期是否在指定日期之前

​ isSame()判断日期是否等于指定日期

​ isBefore()判断日期是否在指定日期之后

​ isValid() 判断传入日期是否合法

​ getQuarter() 获取季度

V1.0.5

添加了以下方法

​ getLunarZodiac() 获取当年生肖

​ getLunar() 获取农历日期信息

​ getAge() 获取年龄

​ getCconstellation() 获取星座

V1.0.6

​ 清楚日志console.log

​ 修改说明文档格式

添加以下方法

​ isToday() 判断是否是当天

​ isThisYear() 判断是否是当年

​ isThisMonth() 判断是否当月

​ isThisWeek() 判断是否本周

​ isWorkday() 判断是否工作日/是否周末

​ getDayOfYear() 获取当天是当年的第几天

V1.0.7

​ 说明文档排版优化

​ 修改getFormatOne传参

​ 代码压缩

V1.0.8

​ 修改方法名称getAllDateTime 为 getFormat
添加以下方法

​ isBetween() 判断时间是否在指定时间段

​ get() 返回年月日时分秒毫秒【根据参数返回】

​ getAdd() 返回日期加减天数的新日期

​ getDateDiff() 日期相差信息

​ getDiffDay() 日期相差自然天数

​ toString() 返回包含时间信息的 string

​ toArray() 返回将日期转换数组

​ toJSON() 返回序列化为 ISO 8601 格式的字符串

​ toObject() 返回包含时间信息的 Object

​ setYear() 设置日期的年份

​ setMonth() 设置日期的月份

​ setDate() 设置日期中月的某一天

​ setHours() 设置日期的小时

​ setMinutes() 设置日期的分钟数

​ setSeconds() 设置日期的秒数

​ setMilliseconds() 设置日期的毫秒数

​ set() 设置年月日时分秒毫秒【根据参数设置】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值