微信小程序pinker组件使用实现自动相减日期


Posted in Javascript onMay 07, 2020

首先,我这里使用pinker组件代码为

<view class="section">
   <view class="section__title">开始时间</view>
   <picker mode="date" value="{{date}}" start="{{startTime}}" end="2020-09-01" bindchange="bindDateChange">
    <view class="picker">
     <text>{{date}}</text>
     <image src="/images/three.png"></image>
    </view>
   </picker>
  </view>

  <view class="section">
   <view class="section__title">结束时间</view>
   <picker mode="date" value="{{date2}}" start="{{date}}" end="2050-09-01" bindchange="bindDate2Change">
    <view class="picker">
     <text>{{date2}}</text>
     <image src="/images/three.png"></image>
    </view>
   </picker>
  </view>

在这里先声明一下,mode属性有五个,我这里用到的是日期选择器?data,开始时间的默认选择时间为当前日期,通过js时时获取当天的日期

微信小程序pinker组件使用实现自动相减日期

获取当天日期的代码为:

//获取当前时间戳 
  var timestamp = Date.parse(new Date());
  timestamp = timestamp / 1000;
  console.log("当前时间戳为:" + timestamp);

  //获取当前时间 
  var n = timestamp * 1000;
  var date = new Date(n);
  //年 
  var Y = date.getFullYear();
  //月 
  var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);
  //日 
  var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
  //天
  var H = date.getHours(); 
  //时 
  var m = date.getMinutes(); 
  //分 
  var time = Y + "-" + M + "-" + D;
  var time2 = Y + "-" + M + "-" + D + "-" + H + ":" + m;
  console.log(time)
  console.log(time2)

其次,pinker组件选择的开始时间与结束时间,通过js来相减得到相差的日期

// 获取开始时间、结束时间,相减
  var start_date = new Date(this.data.date.replace(/-/g, "/"));
  var end_date = new Date(this.data.date2.replace(/-/g, "/"));
  var days = end_date.getTime() - start_date.getTime();
  var day = parseInt(days / (1000 * 60 * 60 * 24));
  console.log(day);
  if (day > 0) {
   this.setData({
    num: day
   })
  } else if (day == 0) {
   this.setData({
    num: 1
   })
  } else if (day < 0) {
   this.setData({
    date2:''
   })
  }
 },

这里的知识点是,replace(/-/g, “/”)一般用于格式化日期,如2020-5-5 格式化为 2020/5/5,然后js 可以直接操作这个时间,/g 代表全局,所有的- 都替换。

实现思路:把日期格式化再转成毫秒数,用结束日期的毫秒数减去开始日期的毫秒数,最终转换成天数。

然后再wxml页面的计算时间差的代码为:

<view class="infoDiv">
   <text>请假时长</text>
   <view wx:if="{{date2&&date}}">
    <input auto-focus placeholder="" type="text" value="{{num+'天'}}" disabled="disabled" bindchange="num_data" />
   </view>
   <view wx:else="">
    <input auto-focus placeholder="" type="text" value="" bindchange="num_data" disabled="disabled" />
   </view>

  </view>

这里通过wx:if来判断日期相差数显示对应的效果。在js传数据的时候,通过+“”来拼接变量,如图中我在计算出日期后,自动加上单位:天。{{num+“天”}}

实现效果图为:

微信小程序pinker组件使用实现自动相减日期

微信小程序pinker组件使用实现自动相减日期

好了,这就是简单的使用微信小程序中的自定义组件pinker进行时间选择以及自动进行日期相减。

到此这篇关于微信小程序pinker组件使用实现自动相减日期的文章就介绍到这了,更多相关小程序pinker组件日期内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
简单的js分页脚本
May 21 Javascript
有关JavaScript的10个怪癖和秘密分享
Aug 28 Javascript
jquery在IE、FF浏览器的差别详细探讨
Apr 28 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
Jan 22 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
Mar 01 Javascript
node.js实现爬虫教程
Aug 25 Javascript
React Native预设占位placeholder的使用
Sep 28 Javascript
Angular4的输入属性与输出属性实例详解
Nov 29 Javascript
centos 上快速搭建ghost博客方法分享
May 23 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
May 25 Javascript
使用Vue-cli3.0创建的项目 如何发布npm包
Oct 10 Javascript
JS错误处理与调试操作实例分析
Apr 13 Javascript
简单了解JavaScript弹窗实现代码
May 07 #Javascript
angular组件间传值测试的方法详解
May 07 #Javascript
Node.js API详解之 timer模块用法实例分析
May 07 #Javascript
JS面试题中深拷贝的实现讲解
May 07 #Javascript
javascript 代码是如何被压缩的示例代码
May 06 #Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
May 06 #Javascript
Vue SSR 即时编译技术的实现
May 06 #Javascript
You might like
实现了一个PHP5的getter/setter基类的代码
2007/02/25 PHP
PHP解决URL中文GBK乱码问题的两种方法
2014/06/03 PHP
PHP二维关联数组的遍历方式(实例讲解)
2017/10/18 PHP
PHP调用微博接口实现微博登录的方法示例
2018/09/22 PHP
用js做一个小游戏平台 (一)
2009/12/29 Javascript
从阶乘函数对比Javascript和C#的异同
2012/05/31 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
2013/07/08 Javascript
浅谈javascript属性onresize
2015/04/20 Javascript
Javascript技术栈中的四种依赖注入详解
2016/02/23 Javascript
jqGrid 学习笔记整理——进阶篇(一 )
2016/04/17 Javascript
AngularJS动态生成div的ID源码解析
2016/08/29 Javascript
Javascript中引用类型传递的知识点小结
2017/03/06 Javascript
jQuery Plupload上传插件的使用
2017/04/19 jQuery
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
2017/04/21 jQuery
基于vue2.0动态组件及render详解
2018/03/17 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
2018/04/26 Javascript
vue2.x集成百度UEditor富文本编辑器的方法
2018/09/21 Javascript
vue实现表格过滤功能
2019/09/27 Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
2020/07/20 Javascript
Python中pip安装非PyPI官网第三方库的方法
2015/06/02 Python
Python3的介绍、安装和命令行的认识(推荐)
2018/10/20 Python
浅析python参数的知识点
2018/12/10 Python
python实现吃苹果小游戏
2020/03/21 Python
对python中arange()和linspace()的区别说明
2020/05/03 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
如何用Python 加密文件
2020/09/10 Python
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
2012/06/04 HTML / CSS
加拿大消费电子和手机购物网站:The Source
2017/01/28 全球购物
三维科技面试题
2013/07/27 面试题
创业计划书怎样才能打动风投
2014/01/01 职场文书
中年人生感言
2014/02/04 职场文书
岗位职责怎么写
2014/03/14 职场文书
环保倡议书300字
2014/05/15 职场文书
总经理人事任命书
2014/06/05 职场文书
关爱留守儿童标语
2014/06/18 职场文书
庆祝教师节主题班会
2015/08/17 职场文书