微信小程序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 相关文章推荐
分析Node.js connect ECONNREFUSED错误
Apr 09 Javascript
javascript setTimeout和setInterval计时的区别详解
Jun 21 Javascript
Extjs grid添加一个图片状态或者按钮的方法
Apr 03 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
May 22 Javascript
JavaScript参数个数可变的函数举例说明
Oct 10 Javascript
使用 js+正则表达式为关键词添加链接
Nov 11 Javascript
JavaScript动态修改弹出窗口大小的方法
Apr 06 Javascript
javascript实现控制文字大中小显示
Apr 28 Javascript
Js+php实现异步拖拽上传文件
Jun 23 Javascript
JS代码实现table数据分页效果
May 26 Javascript
Vue项目开发常见问题和解决方案总结
Sep 11 Javascript
如何在现代JavaScript中编写异步任务
Jan 31 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
php2html php生成静态页函数
2008/12/08 PHP
Ajax PHP 边学边练 之三 数据库
2009/11/26 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
2016/11/25 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
Javascript 修改String 对象 增加去除空格功能(示例代码)
2013/11/30 Javascript
鼠标经过tr时,改变tr当前背景颜色
2014/01/13 Javascript
javascript实现无限级select联动菜单
2015/01/02 Javascript
js removeChild 方法深入理解
2016/08/16 Javascript
AngularJS指令用法详解
2016/11/02 Javascript
javascript 利用arguments实现可变长参数
2016/11/21 Javascript
JS实现的相册图片左右滚动完整实例
2016/11/23 Javascript
微信小程序 底部导航栏目开发资料
2016/12/05 Javascript
easyui combotree加载静态数据问题(选不上)解决方法
2016/12/26 Javascript
vue-router路由简单案例介绍
2017/02/21 Javascript
整理关于Bootstrap表单的慕课笔记
2017/03/29 Javascript
老生常谈javascript中逻辑运算符&amp;&amp;和||的返回值问题
2017/04/13 Javascript
vue2.0 自定义日期时间过滤器
2017/06/07 Javascript
angularjs实现上拉加载和下拉刷新数据功能
2017/06/12 Javascript
JS实现移动端判断上拉和下滑功能
2017/08/07 Javascript
微信小程序简单实现form表单获取输入数据功能示例
2017/11/30 Javascript
javascript删除数组元素的七个方法示例
2019/09/09 Javascript
vue 手机物理监听键+退出提示代码
2020/09/09 Javascript
Openlayers测量距离与面积的实现方法
2020/09/25 Javascript
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
听歌识曲--用python实现一个音乐检索器的功能
2016/11/15 Python
django输出html内容的实例
2018/05/27 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
2020/03/11 Python
css3实现六边形边框的实例代码
2019/05/24 HTML / CSS
解析浏览器的一些“滚动”行为鉴赏
2019/09/16 HTML / CSS
药物学专业学生的自我评价
2013/10/27 职场文书
优秀家长自荐材料
2014/08/26 职场文书
在职证明书范本(2014新版)
2014/09/25 职场文书
聘任协议书(挂靠)
2015/09/21 职场文书
Kubernetes控制节点的部署
2022/04/01 Servers