微信小程序通过开始和结束时间计算日期差

时间的计算:

var startDateStamp =new Date(startDate).getTime();

    var endDateStamp = new Date(endDate).getTime();

    var usedTime = endDateStamp - startDateStamp;  //两个时间戳相差的毫秒数

    var days=Math.floor(usedTime/(24*3600*1000));

    //计算出小时数

    var leave1=usedTime%(24*3600*1000);    //计算天数后剩余的毫秒数

    var hours=Math.floor(leave1/(3600*1000));

    //计算相差分钟数

    var leave2=leave1%(3600*1000);        //计算小时数后剩余的毫秒数

    var minutes=Math.floor(leave2/(60*1000));

    // var time = days + "天"+hours+"时"+minutes+"分";

    var time = days;

    if(time > 31) {

      wx.showModal({

        title: '提示',

        content: '订车时长应小于一个月!',

        showCancel:false,

        confirmText:'确定'

      })

      this.setData({

        endDate: util.formatTime1(new Date())

      })

      return;

    }

相差的时间计算: 

    //日期格式化

      var start_date = new Date("2023-06-10".replace(/-/g, "/"));

      var end_date = new Date("2023-10-10".replace(/-/g, "/"));

      //转成毫秒数,两个日期相减

      var ms = end_date.getTime() - start_date.getTime();

      //转换成天数

      var day = parseInt(ms / (1000 * 60 * 60 * 24*365));

      //do something

      console.log("天 = ", parseInt(ms / (1000 * 60 * 60 * 24)));

      console.log("月 = ", parseInt(ms / (1000 * 60 * 60 * 24*30)));

      console.log("年 = ", parseInt(ms / (1000 * 60 * 60 * 24*365)));

以下是一个简单的微信小程序开始日期、结束日期、天数计算的代码示例: wxml文件: ```html <!-- 计算天数页面 --> <view class="container"> <view class="form-group"> <view class="label">开始日期:</view> <picker mode="date" value="{{startDate}}" bindchange="startDateChange"> <view class="value">{{startDate}}</view> </picker> </view> <view class="form-group"> <view class="label">结束日期:</view> <picker mode="date" value="{{endDate}}" bindchange="endDateChange"> <view class="value">{{endDate}}</view> </picker> </view> <view class="result">{{dayCount}} 天</view> </view> ``` js文件: ```javascript Page({ data: { startDate: '', // 开始日期 endDate: '', // 结束日期 dayCount: 0 // 天数 }, onLoad: function () {}, startDateChange: function (e) { // 开始日期选择器改变事件处理函数 this.setData({ startDate: e.detail.value }) this.calculateDayCount() }, endDateChange: function (e) { // 结束日期选择器改变事件处理函数 this.setData({ endDate: e.detail.value }) this.calculateDayCount() }, calculateDayCount: function () { // 计算天数 const start = new Date(this.data.startDate) const end = new Date(this.data.endDate) const dayCount = (end - start) / (1000 * 60 * 60 * 24) this.setData({ dayCount: dayCount }) } }) ``` wxss文件: ```css .container { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 20rpx; } .form-group { display: flex; align-items: center; margin-bottom: 20rpx; } .label { font-size: 28rpx; color: #333; margin-right: 20rpx; } .value { font-size: 28rpx; color: #007AFF; } .result { font-size: 32rpx; color: #333; } ``` 在这个示例中,我们使用了两个picker组件来选择开始日期结束日期,分别绑定了startDateChangeendDateChange事件处理函数。在这两个事件处理函数中,我们分别将选择的日期更新到页面数据中,并调用calculateDayCount函数计算天数。在calculateDayCount函数中,我们使用了JavaScript内置的Date对象,将字符串类型的日期转换成了Date类型的日期进行计算,并将计算出的天数更新到页面数据中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Android毕业设计源码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值