1.2.3 • Published 5 years ago

ja-date-utils v1.2.3

Weekly downloads
1
License
ISC
Repository
github
Last release
5 years ago

功能介绍

1:dateFormat // 时间格式化

2:dateAdd // 时间增减

3:dateDiff // 计算时间差

4:isInDate // 是否在时间范围内

5:isToday // 是否今天

安装

npm install ja-date-utils --save

引入

import dateUtils from 'ja-date-utils';

测试

dateUtils.dateFormat('1559530562175')
// 结果:2019-06-03 10:56:02

配置

// 不修改,则默认为以下配置
dateUtils.initDateConfig({ // 修改默认时间格式
    dateFormat: 'YYYY-MM-DD hh:mm:ss',// 默认返回的时间格式
    dateAdd: 'YYYY-MM-DD', //时间加减返回的时间格式
}); 
或
dateUtils.initDateConfig('YYYY-MM-DD hh:mm:ss'); // 对所有日期格式都生效

##版本更新

1.2.2 修改isToDay方法为isToday
         补充dateDiff方法文档遗漏
1.2.0 新增 isToday 方法(是否今天)
         新增 isInDate 方法(是否在时间范围内)
         新增支持10位时间戳
1.1.5 解决无法部分配置不生效
1.1.2 解决中文乱码

功能

1、 格式化时间: dateFormat (date, fmt)

功能描述:传入时间,返回指定格式

参数类型默认必传描述
datenumber / string / datenew Date()false需格式化的时间
fmtstringYYYY-MM-DD hh:mm:ssfalse需的时间格式(类型)

#####例子

dateUtils.dateFormat('1559530562175')
// 结果:2019-06-03 10:56:02
dateUtils.dateFormat('1559530562175', "YYYY-MM-DD hh:mm:ss.S 周W(w) t.T month月 第Q季度")
// 结果:2019-06-03 10:56:02.175 周一(1) am.上午 六月 第2季度

也可以这样

dateUtils.dateFormat('2019-06-03 10:56:02', "YYYY年MM月DD日 hh:mm:ss")
// 结果:2019年06月03日 10:56:02

2、 时间增减: dateAdd (date, num, type, fmt)

功能描述:传入时间,对时间进行增减操作

参数类型默认必传描述
datenumber / string / datenew Date()false需要增减的时间
numnumbertrue增减的数量,正数为增,负数为减
typestringtrue增减的类型
fmtstringYYYY-MM-DD hh:mm:ssfalse返回的时间格式(类型)

type支持的类型有'YYYY'、'MM'、'DD'、'w'、'hh'、'mm'、'ss'

#####例子

dateUtils.dateAdd("2019-06-03", 2, 'YYYY', 'YYYY-MM-DD')
// 功能:在2019-06-03的基础上增加2年
// 结果:2021-06-03

dateUtils.dateAdd("2019-06-03", 3, 'DD', 'YYYY-MM-DD')
// 功能:在2019-06-03的基础上增加3天
// 结果:2019-06-06

dateUtils.dateAdd("2019-06-03", -3, 'DD', 'YYYY-MM-DD')
// 功能:在2019-06-03的基础上减少3天
// 结果:2019-05-31

3、 计算时间差:dateDiff (parame)

功能描述:传入时间,计算与当前时间的差值

#####parame参数说明 -- json类型 | 参数 | 类型 | 默认 | 必传 | 描述 | | -----------| ------ | ------ | ----| ---------| | date | number / string / date | | true | 需要对比的时间| | dateTarget | number / string / date | new Date()| | 目标时间(以此为对比标准)|
| dateMaxValue| number | | | 相差超过该数量单位的后显示原时间)|
| dateMaxType| string | | | 相差超过该数量单位的后显示原时间(类型)|
| dateFormat | string | YYYY-MM-DD hh:mm:ss | | 返回的时间格式(类型)|

#####parame参数说明 -- string类型 | 参数 | 类型 | 默认 | 必传 | 描述 | | -----------| ------ | ------ | ----| ---------| | parame | number / string / date | | true | 需要对比的时间 - 相当于parame.date|

#####例子

dateUtils.dateDiff("2019-04-07 12:12:12")
// 功能:对比 2019-04-07 12:12:12 和 当前系统时间 之间的时间差
// 结果:刚刚
相当于
dateDiff({
    date: "2019-04-07 12:12:12"
})


dateUtils.dateDiff({
    date: "2019-04-07 12:12:12",
    dateTarget: "2019-04-07 12:12:55",
})
// 功能:对比 2019-04-07 12:12:12 和 2019-04-07 12:12:55 之间的时间差
// 结果:刚刚

dateUtils.dateDiff({
    date: "2019-04-07",
    dateTarget: "2019-05-13",
})
// 功能:对比 2019-04-07 和 2019-05-13 之间的时间差
// 结果:1月后

dateUtils.dateDiff({
    date: "2019-04-07",
    dateTarget: "2019-05-13",
    dateMaxType: 'MM',
    dateMaxValue: 1,
    dateFormat: 'YYYY-MM-DD',
})
// 功能:对比 2019-04-07 和 2019-05-13 之间的时间差,超过一个月则直接显示date
// 结果:2019-04-07

4、 是否今天: isToday (date, dateTarget)

功能描述:传入时间,返回布尔值

参数类型默认必传描述
datenumber / string / datetrue需要对比的时间
dateTargetnumber / string / datenew Date()false需要对比目标的时间

#####例子

注:对比的时间的当前系统时间:2020-04-28 11:11:11
dateUtils.isToday('2020-4-28')
// 结果:true

dateUtils.isToday('2020-4-27')
// 结果:false

dateUtils.isToday('2020-4-28', '2020-4-28')
// 结果:true

5、 是否在时间范围内: isInDate (date, num, type, dateTarget)

功能描述:对比时间是否在对应单位的范围内,如 1天内、1周内、1个月内

参数类型默认必传描述
datenumber / string / datetrue需要对比的时间
numnumber1false对比的数量
typestringDDfalse对比的类型
dateTargetnumber / string / datenew Date()false需要对比目标的时间

type支持的类型有'YYYY'、'MM'、'DD'、'w'、'hh'、'mm'、'ss'

#####例子

注:对比的时间的当前系统时间:2020-04-28 11:11:11
dateUtils.isInDate('2020-04-27 06:37:46', 2, 'DD')
// 结果:true

dateUtils.isInDate('2020-04-25 06:37:46', 2, 'DD')
// 结果:false

dateUtils.isInDate('2020-04-25 06:37:46', 1, 'w')
// 结果:true

dateUtils.isInDate('2020-04-21 06:37:46', 1, 'w')
    // 结果:false

时间类型

以此时间为例:2019-04-07 05:08:09.630

时间类型描述
YYYY2019
MM月份04
M月份 -- 10以下不补04
month月份 -- 中文
DD07
D日 -- 10以下不补07
hh小时05
h小时 -- 10以下不补05
mm08
m分 -- 10以下不补08
ss09
s秒 -- 10以下不补09
S毫秒630
Q季度2
w星期 -- 数字7
W星期 -- 中文
t时段   (am,pm)am
T时段   (上午,下午)上午
1.2.3

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.5

5 years ago

1.1.0

5 years ago

1.1.4

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.0.0

5 years ago