微信小程序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 相关文章推荐
lib.utf.js
Aug 21 Javascript
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
Jan 05 Javascript
jQuery each()方法的使用方法
Mar 18 Javascript
js 延迟加载 改变JS的位置加快网页加载速度
Dec 11 Javascript
div当滚动到页面顶部的时候固定在顶部实例代码
May 27 Javascript
从jquery的过滤器.filter()方法想到的
Sep 29 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
Jan 11 Javascript
谈一谈bootstrap响应式布局
May 23 Javascript
使用JavaScript实现一个小程序之99乘法表
Sep 21 Javascript
angular4中引入echarts的方法示例
Jan 29 Javascript
js实现页面多个日期时间倒计时效果
Jun 20 Javascript
浅谈JSON5解决了JSON的两大痛点
Dec 14 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
用php实现批量查询清除一句话后门的代码
2008/01/20 PHP
php下通过伪造http头破解防盗链的代码
2010/07/03 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
html+javascript实现可拖动可提交的弹出层对话框效果
2013/08/05 Javascript
javascript full screen 全屏显示页面元素的方法
2013/09/27 Javascript
js显示当前日期时间和星期几
2015/10/22 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
2015/11/20 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
2016/12/17 Javascript
JavaScript实现大图轮播效果
2017/01/11 Javascript
js手机号4位显示空格,银行卡每4位显示空格效果
2017/03/23 Javascript
JavaScript字符串_动力节点Java学院整理
2017/06/27 Javascript
Nuxt.js踩坑总结分享
2018/01/18 Javascript
详解.vue文件中style标签的几个标识符
2018/07/17 Javascript
iView框架问题整理小结
2018/10/16 Javascript
vue 实现小程序或商品秒杀倒计时
2019/04/14 Javascript
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
2019/05/13 jQuery
解决layui数据表格排序图标被超出的表头挤出去的问题
2019/09/19 Javascript
vue中改变滚动条样式的方法
2020/03/03 Javascript
Python对小数进行除法运算的正确方法示例
2014/08/25 Python
Python实现视频下载功能
2017/03/14 Python
对Python中type打开文件的方式介绍
2018/04/28 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
Python浮点数四舍五入问题的分析与解决方法
2019/11/19 Python
HTML5 Canvas实现平移/放缩/旋转deom示例(附截图)
2013/07/04 HTML / CSS
HTML5 canvas绘制的玫瑰花效果
2014/05/29 HTML / CSS
美国最大的骑马用品零售商:HorseLoverZ
2017/01/12 全球购物
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
加大码胸罩、内裤和服装:Just My Size
2019/03/21 全球购物
波兰运动鞋网上商店:Distance.pl
2020/07/30 全球购物
心得体会范文
2014/01/04 职场文书
积极分子思想汇报
2014/01/04 职场文书
工作室成员个人发展规划范文
2014/01/24 职场文书
党委书记个人对照检查材料
2014/09/15 职场文书
慰问信范文
2015/02/14 职场文书
2015年专项整治工作总结
2015/04/03 职场文书
MySQL中EXPLAIN语句及用法
2022/05/20 MySQL