参数名称
参数类型
参数默认值
是否必传
说明
增量
number
0
N
要增加的时间量,增加传正数,减少传负数
增量单位
string
无默认值
Y
要增加的时间单位,可选有YYYY MM DD hh mm ss SSS ww WW
单位 的可选参数跟格式化方法format的类似,这么做也是为了方便记忆,只需要记一套方案
同样地 单位也区分大小写,记的技巧是大的单位大写 YYYY MM DD,小的单位小写 hh mm ss 毫秒跟星期特殊的单独记,
参数必须严格按照说明里面的填写,多一个或者少一个都认不到,比如YYYY写成YYY或者YY这样是识别不了的
miment().add(1,'DD') // 增加一天 miment().add(1,'YYYY').add(2,'MM').add(-3,'DD') // 增加1年2个月又减回去3天 miment().add(-1,'ww') // 减去一周 --即获取上周的日期 miment().add(500,SSS) // 增加500毫秒
add返回的值是增加完后的miment对象,所以我们可以在它后面继续调用miment有的方法。
miment().add(1,'DD').format() // 我测试的时候,打印的是 2018-04-12 09:29:55
需要注意的是,当你调完第一类的方法以后,返回的就不是miment对象了,比如format返回的是一个字符串,这个时候你就不能再调用miment上的方法了,
会报错 Uncaught TypeError: miment(...).format(...).xxx is not a function 因为字符串的原型上面没有这个方法
miment().add(1,'DD').format().add(1,'DD') // 报错
6.distance 计算2个时间的距离 接收2个参数,返回一个miment对象
参数名称
参数类型
参数默认值
是否必传
说明
起始时间
miment/date/number/string
无
Y
接受4种类型参数,会自动转换
结束时间
miment/date/number/string
无
N
同上
只传一个起始时间的时候,返回 起始时间 - miment当前时间
起始时间和结束时间都有传的时候,返回 起始时间 - 结束时间
miment().distance('2018-04-10 00:00:00') // Mon Dec 29 1969 22:11:51 GMT+0800 (CST) miment().distance(1523408529932) // Wed Dec 31 1969 07:13:47 GMT+0800 (CST) miment().distance('2018-04-10 00:00:00', new Date()) //Mon Dec 29 1969 22:11:13 GMT+0800 (CST) miment().distance('2018-04-10 00:00:00', '2018-04-11 00:00:00') //Mon Dec 29 1969 22:10:46 GMT+0800 (CST)
你一定注意到了,distance方法返回的时间,竟然都是1969年的? 这实际上是基于1970-01-01 00:00:00的一个毫秒数,
具体请看 百度百科-unix时间,
而我们把两个时间相减,得到的可能是一个相对来说很小的数(还有可能是负数),所以离1970很近
那我们要怎么显示我们能看得懂的时间呢? 很简单 用格式化时间函数format,还记得format函数的第二个参数吗?
就是专门用来格式化distance计算出来的时间差,只要把第二个参数设为true,就能把当前时间格式化成时间差
我们先来看看第二个参数不传,或者传false的时候是什么样子的
miment().distance(1523408529932).format('YYYY年MM月DD日 hh时mm分ss秒') // 1969年12月30日 00时52分16秒 miment().distance(1523408529932).format('YYYY年MM月DD日 hh时mm分ss秒',false) // 1969年12月30日 00时52分16秒
然后我们把第二个参数设为true
miment().distance(1523408529932).format('YYYY年MM月DD日 hh时mm分ss秒',true) // 00年01月03日 23时08分23秒
7.firstDayOfWeek 获取 本周的第一天(周日) 不需要参数
miment().firstDayOfWeek() // Sun Apr 08 2018 11:27:55 GMT+0800 (CST) miment().firstDayOfWeek().format() // 2018-04-08 11:27:55
如果想获取周一呢?周二、三、四、五、六呢?
miment().firstDayOfWeek().add(1,'DD').format() // 2018-04-09 11:27:55
8.firstDay 获取每个月的第一天 不需要参数
miment().firstDay() // Sun Apr 01 2018 00:00:00 GMT+0800 (CST) miment().firstDay().format() // 2018-04-01 00:00:00
9.lastDay 获取每个月的最后一天 不需要参数
miment().lastDay() // Mon Apr 30 2018 00:00:00 GMT+0800 (CST) miment().lastDay().format() // 2018-04-30 00:00:00
第三类
10.Date自带方法 miment继承自Date对象,所以也拥有Date对象的所有方法,这里就不做深入讲解,需要更多关于Date对象的说明,
请移步至查看