微信小程序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实现 注册时选择阅读条款 左右移动
Apr 11 Javascript
Node.js node-schedule定时任务隔多少分钟执行一次的方法
Feb 10 Javascript
Javascript中的Callback方法浅析
Mar 15 Javascript
浅谈javascript的Touch事件
Sep 27 Javascript
jQuery实现非常实用漂亮的select下拉菜单选择效果
Nov 06 Javascript
JS实现HTML标签转义及反转义
Apr 14 Javascript
webpack中使用iconfont字体图标的方法
Feb 22 Javascript
微信小程序地图导航功能实现完整源代码附效果图(推荐)
Apr 28 Javascript
基于Node.js搭建hexo博客过程详解
Jun 25 Javascript
Vue的路由及路由钩子函数的实现
Jul 02 Javascript
VueJS实现用户管理系统
May 29 Javascript
vue Element左侧无限级菜单实现
Jun 10 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
MayFish PHP的MVC架构的开发框架
2009/08/13 PHP
PHP cURL初始化和执行方法入门级代码
2015/05/28 PHP
PHP微信红包API接口
2015/12/05 PHP
PHP实现文件上传功能实例代码
2017/05/18 PHP
数据结构之利用PHP实现二分搜索树
2020/10/25 PHP
理解js回收机制通俗易懂版
2016/02/29 Javascript
简单谈谈Vue 模板各类数据绑定
2016/09/25 Javascript
利用JS实现点击按钮后图片自动切换的简单方法
2016/10/24 Javascript
简单的js计算器实现
2016/10/26 Javascript
jQuery实现的简单拖动层示例
2017/02/22 Javascript
js微信应用场景之微信音乐相册案例分享
2017/08/11 Javascript
Vue工程模板文件 webpack打包配置方法
2017/12/26 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
微信小程序实现留言板
2018/10/31 Javascript
js canvas实现橡皮擦效果
2018/12/20 Javascript
JS实现获取数组中最大值或最小值功能示例
2019/03/02 Javascript
Vue+Typescript中在Vue上挂载axios使用时报错问题
2019/08/07 Javascript
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
[47:55]Ti4第二日主赛事败者组 NaVi vs EG 1
2014/07/20 DOTA
读取json格式为DataFrame(可转为.csv)的实例讲解
2018/06/05 Python
Kali Linux安装ipython2 和 ipython3的方法
2019/07/11 Python
python selenium循环登陆网站的实现
2019/11/04 Python
浅谈Tensorflow 动态双向RNN的输出问题
2020/01/20 Python
Python文件读写w+和r+区别解析
2020/03/26 Python
python字典按照value排序方法
2020/12/28 Python
英国马莎百货官网:Marks & Spencer
2016/07/29 全球购物
日本卡普空电视游戏软件公司官方购物网站:e-CAPCOM
2018/07/17 全球购物
护士自荐信范文
2013/12/15 职场文书
2015年幼儿园中班开学寄语
2015/05/27 职场文书
幼儿体育课教学反思
2016/02/16 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书
MySQL RC事务隔离的实现
2022/03/31 MySQL
OpenCV实现常见的四种图像几何变换
2022/04/01 Python
5个实用的JavaScript新特性
2022/06/16 Javascript