微信小程序使用moment.js进行日期相减得出相差天数的随笔记录

微信小程序使用moment.js进行日期相减得出相差天数的随笔记录_第1张图片
简单记录下今天使用moment.js遇到的问题;
场景:从数据库里获取的返回值delivery_date,要与当前日期做比较,得出相差多少天;
问题:直接写 let nowDeliveryDate = moment() //获取当前日期
let deliveryDate = moment(list.delivery_date); //用moment来显示获取的日期
list.shenyu_date = deliveryDate.diff(nowDeliveryDate,‘day’) ; //作对比.显示天数
本来这么写也没多大问题,就是会遇到这么一种情况,当list.delivery_date不是YYYY-MM-DD的格式时,它就会显示少一天,
比如今天是2019-06-13,然后list.delivery_date是2019-06-10 20:50:12,此时shenyu_date显示的是相差2天,而我想要的效
果是相差3天,因为这里时分秒也被计算进去了,所以不足一天,就不会计算进去;
所以第一次利用格式化去对比
是这样写的:
let nowDeliveryDate = moment().format(‘YYYY-MM-DD’) //获取当前日期
let deliveryDate = moment(list.delivery_date).format(‘YYYY-MM-DD’) ; //用moment来显示获取的日期
list.shenyu_date = deliveryDate.diff(nowDeliveryDate,‘day’) ; //作对比.显示天数
这个时候执行,控制台会报错diff这个不能这么用,排查了一番只得出解决办法(还没得出怎么官方的解释哈,希望后面有人指 出)
就是不能这么使用:
let deliveryDate = moment(list.delivery_date).format(‘YYYY-MM-DD’) ;
只有改成:
let deliveryDate = moment(list.delivery_date,‘YYYY-MM-DD’)
微信小程序使用moment.js进行日期相减得出相差天数的随笔记录_第2张图片
才能正常的用diff去作对比;
这张是不在括号里加(,‘YYYY-MM-DD’)就会导致相差一天的截图
微信小程序使用moment.js进行日期相减得出相差天数的随笔记录_第3张图片
最上面那张图是最终结果,可以正常作对比的;

你可能感兴趣的:(微信小程序)