微信小程序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 相关文章推荐
jquery 中的each()跳出循环的语句
May 23 Javascript
技术男用来对妹子表白的百度首页
Jul 23 Javascript
jquery引用方法时传递参数原理分析
Oct 13 Javascript
9个让JavaScript调试更简单的Console命令
Nov 14 Javascript
Bootstrap源码解读模态弹出框(11)
Dec 28 Javascript
javascript 注释代码的几种方法总结
Jan 04 Javascript
JSONP跨域请求
Mar 02 Javascript
将angular-ui的分页组件封装成指令的方法详解
May 10 Javascript
利用JS实现一个同Excel表现的智能填充算法
Aug 13 Javascript
微信小程序自定义导航栏
Dec 31 Javascript
使vue实现jQuery调用的两种方法
May 12 jQuery
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
Dec 30 Vue.js
简单了解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
PHP开发框架总结收藏
2008/04/24 PHP
PHP 图片水印类代码
2012/08/27 PHP
php比较多维数组中值的大小排序实现代码
2012/09/08 PHP
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
jQuery checkbox全选/取消全选实现代码
2009/11/14 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
2013/06/12 Javascript
在父页面得到zTree已选中的节点的方法
2015/02/12 Javascript
举例讲解JavaScript中关于对象操作的相关知识
2015/11/16 Javascript
Bootstrap+jfinal退出系统弹出确认框的实现方法
2016/05/30 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
2017/05/13 NodeJs
JavaScript反弹动画效果的实现代码
2017/07/13 Javascript
细说webpack源码之compile流程-rules参数处理技巧(2)
2017/12/26 Javascript
基于JavaScript中标识符的命名规则介绍
2018/01/06 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
2018/03/01 Javascript
vue axios 表单提交上传图片的实例
2018/03/16 Javascript
Vue基本使用之对象提供的属性功能
2019/04/30 Javascript
package.json各个属性说明详解
2020/03/11 Javascript
python sort、sorted高级排序技巧
2014/11/21 Python
python 捕获 shell/bash 脚本的输出结果实例
2017/01/04 Python
Python实现的径向基(RBF)神经网络示例
2018/02/06 Python
1分钟快速生成用于网页内容提取的xslt
2018/02/23 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
2020/06/11 Python
python使用多线程查询数据库的实现示例
2020/08/17 Python
python 模拟登录B站的示例代码
2020/12/15 Python
波兰多品牌运动商店:StreetStyle24.pl
2020/09/22 全球购物
岗位职责的定义
2013/11/10 职场文书
酒店前厅员工辞职信
2014/01/08 职场文书
中国文明网签名寄语
2014/01/18 职场文书
团日活动总结书
2014/05/08 职场文书
推荐信模板
2014/05/09 职场文书
春节超市活动方案
2014/08/14 职场文书
党员贯彻十八大精神思想汇报范文
2014/10/25 职场文书
家庭财产分割协议范文
2014/11/24 职场文书
2015年度招聘工作总结
2015/05/28 职场文书
结婚纪念日感言
2015/08/01 职场文书