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

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

浏览量:6587 时间: 来源:waitlzm

小程序
简单记录下今天使用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’)
小程序
才能正常的用diff去作对比;
这张是不在括号里加(,‘YYYY-MM-DD’)就会导致相差一天的截图
小程序
最上面那张图是最终结果,可以正常作对比的;

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎