Zdate
日期时间处理插件
安装
npm install -S zdatejs
开始使用
引入
;
初始化
zdate(params?: Date|string|number)
params 参数可以为 Date 实例,格式化日期字符串,时间戳或者不传表示当前时间
举例
// 参数为空,表示取当前时间;// 参数为Date实例;// 参数为时间戳;// 参数为格式化字符串;
获取对应单位时间
- year:年
- month:月
- date:日
- hour:时
- minute:分
- second:秒
- millisecond:毫秒
- week:星期
举例
const year = year; // 获取年 const month = month; // 获取月 const date = date; // 获取日 const hour = hour; // 获取时 const minute = minute; // 获取分 const second = second; // 获取秒 const millisecond = millisecond; // 获取毫秒 const week = week; // 获取星期
获取对应单位时间
举例
; // 设置为2019年// 或; ; // 设置为10月份// 或; ; // 设置为3日// 或;// 或; ; // 设置为13小时// 或; ; // 设置为23分钟// 或; ; // 设置为59秒// 或; ; // 设置为45毫秒// 或;
格式化时间
format(str?: string)
str 为结合以下字符格式拼接而成的字符串:
- YY: 只显示年份的后两位,如 09,
- YYYY: 显示年份全部信息,如 2019,
- M: 显示实际月份,如 1,12,
- MM: 月份以 2 位数显示,不够则向前填充 0,如 01,12,
- D: 显示实际日,如 1,12,
- DD: 日以 2 位数显示,不够则向前填充 0,如 01,12,
- d: week,
- dd: WEEK_HASH[week],
- H: 显示实际 24 小时制,如 1,23,
- HH: 24 小时制以 2 位数显示,不够则向前填充 0,如 01,12,
- h: 显示实际 12 小时制,如 1,12,
- hh: 12 小时制以 2 位数显示,不够则向前填充 0,如 01,12,
- m: 显示实际分支,如 1,12,
- mm: 分钟以 2 位数显示,不够则向前填充 0,如 01,12,
- s: 显示实际秒,如 1,12,
- ss: 秒以 2 位数显示,不够则向前填充 0,如 01,12,
- S: 显示实际毫秒,如 1,12,
- SSS: 毫秒以 3 位数显示,不够则向前填充 0,如 01,12
举例
const d1 = ; // 2019-10-24 const d2 = ; // 2019-10-24 14:02:40 const d2 = ; // 2019年10月24日 14时02分40秒
获取指定类型的首末时间
startOf(unit: string)
endOf(unit: string)
unit 有以下几种类型:
- month | M:按照月级别
- date | D:按照日级别
- hour | H:按照小时级别
- minute | m:按照分钟级别
- second | s:按照秒级别
举例
// 假设当前时间为2019-10-24 12:30:30 const startOfMonth = ; // 2019-10-01const endOfMonth = ; // 2019-10-31 const startOfHour = ; // 2019-10-24 12:00const endOfHour = ; // 2019-10-24 12:59
设置偏移时间
-
右偏差:
add(offset: number, unit?:string = 'second')
-
左偏差:
subtract(offset: number, unit?:string = 'second')
其中 offset 和 unit 取值如下: -
offset:偏差值
-
unit:与上面介绍的 unit 一致
举例
// 假设当前时间为2019-10-24 12:30:30 const addMonth = ; // 2019-11-24const subtractMonth = ; // 2019-09-24 const addHour = ; // 2019-10-24 13:30const subtractHour = ; // 2019-10-24 11:30
比较时间
- 时间是否在 date 之前:
isBefore(date, unit?:string="second")
- 时间是否在 date 之后:
isAfter(date, unit?:string="second")
- 时间是否在 date 相等:
isSame(date, unit?:string="second")
- 时间是否在 date1 和 date2 之间:
isBetween(date1, date2, unit?:string="second")
举例
// 假设当前时间为2019-10-24 12:30:30 const isAfter = ; // => trueconst isBefore = ; // => true const isSame = ; // => trueconst isBetween = ; // => true
转化为时间戳
valueOf()
举例
const time = ;