# 显示
# 格式化
rdate.js 的 format 方法用于格式日期时间
语法:
rdate.formt( dt, ft )
参数:
dt
: 日期
ft
: 格式
不传参则 使用 默认格式(ft) 去格式化 默认日期(dt)
传一个参数,则为 格式(ft),格式化 默认日期(dt)
传两个参数,第一个参数为 格式化的日期(dt),第二个参数为格式(ft)
提示
默认日期 dt: new Date()
默认格式 ft: YYYY-MM-DD HH:mm:ss
返回:
string
格式化后的日期
例子:
// 使用默认格式格式化当前日期
rdate.format()
// 指定格式来格式化当前日期
rdate.format('yyyy-MM-dd')
// 使用默认格式来格式化指定日期
rdate.format('2021/1/1')
// => "2021-01-01 00:00:00"
// 指定格式来格式化指定日期
rdate.format('2021/1/1', 'yy-MM-dd hh:mm:ss S')
// => "21-01-01 00:00:00 000"
// 模板处理特殊字符
rdate.format('2021/1/1', 'yyyy-MM-dd [yyyy]')
// => "2021-01-01 yyyy"
rdate.format('2021/1/1', 'yyyy-MM-dd W w')
// => "2021-01-01 周五 星期五"
rdate.format('2021/1/1', '2021/1/1是属于第q季度')
// => "2021/1/1是属于第1季度"
rdate.format('当前时间是属于第q季度')
所有可用解析标记的列表
标识 | 示例 | 描述 |
---|---|---|
YY/yy | 18 | 年,两位数 |
YYYY/yyyy | 2018 | 年,四位数 |
M | 1-12 | 月,从 1 开始 |
MM | 01-12 | 月,两位数字 |
D/d | 1-31 | 日 |
DD/dd | 01-31 | 日,两位数 |
H/h | 0-23 | 24 小时 |
HH/hh | 00-23 | 24 小时,两位数 |
h | 1-12 | 12 小时 |
hh | 01-12 | 12 小时,两位数 |
m | 0-59 | 分钟 |
mm | 00-59 | 分钟,两位数 |
s | 0-59 | 秒 |
ss | 00-59 | 秒,两位数 |
S | 0-9 | 毫秒(百),一位数 |
SS | 00-99 | 毫秒(十),两位数 |
SSS | 000-999 | 毫秒,三位数 |
w | 周 | 周一 ~ 周日 |
W | 星期 | 星期一 ~ 星期日 |
q | 季度 | 返回 1 ~ 4 |
# 差异
这表示指定单元中两个日期时间之间的差异,默认毫秒为单位获得差异
语法:
rdate.diff( dt1, dt2, unit , float)
参数:
dt1
: 日期 1
dt2
: 日期 2
unit
: 默认 millisecond
float
: 是否取整
返回值:
number
例子:
rdate.diff('2021-06-20', '2021-6-25') // 403200000
rdate.diff('2019-01-25', '2018-06-05') // 20217600000
rdate.diff('2018-06-05', '2019-01-25') // -20217600000
rdate.diff('2019-01-25', '2018-06-05', 'month') // 7
rdate.diff('2018-06-05', '2019-01-25', 'month') // -7
rdate.diff('2019-01-25', '2018-06-05', 'month', true) // 7.645161290322581
rdate.diff('2018-06-05', '2019-01-25', 'month', true) // -7.645161290322581
rdate.diff('2019-01-25', '2018-06-05', 'day') // 234
rdate.diff('2018-06-05', '2019-01-25', 'day') // -234
rdate.diff('2021-06-05', '2021-06-25', 'week') // -2
rdate.diff('2021-06-05', '2021-06-25', 'week', true) //-2.857142857142857
rdate.diff('2021-06-05', '2021-06-25', 'quarter', true) // -0.21505376344086022
rdate.diff('2021-06-05', '2021-06-25', 'year', true) // -0.053763440860215055
rdate.diff('2021-06-05', '2021-06-25', 'hour', true) // -480
rdate.diff('2021-06-05', '2021-06-25', 'minute', true) // -28800
rdate.diff('2021-06-05', '2021-06-25', 'second', true) // -1728000
单位不区分大小写,支持复数和缩写形式。
单位 | 缩写 | 描述 |
---|---|---|
week | w | 周 |
day | d | 星期(星期日 0,星期六 6) |
month | M | 月份(0-11) |
quarter | Q | 季度 |
year | y | 年 |
hour | h | 小时 |
minute | m | 分钟 |
second | s | 秒 |
millisecond | ms | 毫秒 |
# 转数组
// 不传参 默认是 转换当前日期
rdate.toArray()
rdate.toArray('2019-01-25') // [ 2019, 0, 25, 0, 0, 0, 0 ]
# 转对象
// 不传参 默认是 转换当前日期
rdate.toObject()
rdate.toObject('2019-01-25')
/*
=>
{
date: 25
hour: 0
millisecond: 0
minute: 0
month: 0
second: 0
year: 2019
}
*/
# 获取月天数
获取当前月份的天数 / 指定日期所数月份的天数
语法:
rdate.daysInMonth(dt)
示例:
// 获取当月天数
rdate.daysInMonth()
// 获取 指定 '2020-2-2' 所属月的天数
rdate.daysInMonth('2020-2-2') // "29"