微信小程序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 相关文章推荐
javascript 简练的几个函数
Aug 29 Javascript
firefox firebug中文入门教程 脚本之家新年特别版
Jan 02 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
Nov 29 Javascript
用JS在浏览器中创建下载文件
Mar 05 Javascript
javascript实现炫酷的拖动分页
May 11 Javascript
基于Bootstrap重置输入框内容按钮插件
May 12 Javascript
Bootstrap源码学习笔记之bootstrap进度条
Dec 24 Javascript
基于DOM节点删除之empty和remove的区别(详解)
Sep 11 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
Sep 25 Javascript
深入理解Node内建模块和对象
Mar 12 Javascript
微信用户访问小程序的登录过程详解
Sep 20 Javascript
javascript实现计算器功能详解流程
Nov 01 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
几种显示数据的方法的比较
2006/10/09 PHP
PHP中创建空文件的代码[file_put_contents vs touch]
2012/01/20 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
2016/10/25 PHP
javascript FormatNumber函数实现方法
2008/12/30 Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
2012/10/11 Javascript
jQuery ajax dataType值为text json探索分享
2013/09/23 Javascript
js实现的常用的左侧导航效果
2013/10/17 Javascript
js获取通过ajax返回的map型的JSONArray的方法
2014/01/09 Javascript
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
jQuery中index()的用法分析
2014/09/05 Javascript
javascript创建动态表单的方法
2015/07/25 Javascript
使用Function.apply()的参数数组化来提高 JavaScript程序性能的技巧
2015/12/23 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
JavaScript实现窗口抖动效果
2016/10/19 Javascript
Angularjs中的页面访问权限怎么设置
2016/11/11 Javascript
jQuery操作之效果详解
2017/05/19 jQuery
AngularJS 支付倒计时功能实现思路
2017/06/05 Javascript
Vue页面骨架屏的实现方法
2018/05/22 Javascript
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
2019/12/12 Javascript
Javascript实现html转pdf高清版(提高分辨率)
2020/02/19 Javascript
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
python rsa 加密解密
2017/03/20 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
2018/12/30 Python
解决python线程卡死的问题
2019/02/18 Python
Python爬虫实现“盗取”微信好友信息的方法分析
2019/09/16 Python
Pytorch mask-rcnn 实现细节分享
2020/06/24 Python
python Yaml、Json、Dict之间的转化
2020/10/19 Python
如果重写了对象的equals()方法,需要考虑什么
2014/11/02 面试题
《将心比心》教学反思
2014/04/08 职场文书
优质服务活动实施方案
2014/05/02 职场文书
大学生个人求职信例文
2014/07/07 职场文书
践行三严三实心得体会
2014/10/13 职场文书
导游词之吉林花园山
2019/10/17 职场文书
Go 自定义package包设置与导入操作
2021/05/06 Golang
nginx location 带斜杠【 / 】与不带的区别
2022/04/13 Servers