美文网首页
小程序页面时间的渲染

小程序页面时间的渲染

作者: _果不其然_ | 来源:发表于2019-04-09 15:59 被阅读0次

    最近遇到一个时间的处理,就是接口返回的营业时间是距离0点的分钟数,就需要我们在前端做一些数据的处理

    返回的时间类型

    "workEndTime":1080,   //也就代表结束营业的时间是18:00
    "workStartTime":480,  //也就代表开始营业的时间是8:00
    

    前端的渲染效果
    (哈哈,有点丑,不要在意)

    image.png
    直接附代码
    • WXML
     <view style='display: flex;flex-direction: row;'>
      <text hidden='{{startHourZero}}'>0</text>
      <text>{{workStartHour|int}}:</text>
      <text hidden='{{startMinuteZero}}'>0</text>
      <text> {{workStartMinute}}-</text>
      <text hidden='{{endHourZero}}'>0</text>
      <text>{{workEndHour|int}}:</text>
      <text hidden='{{endMinuteZero}}'>0</text>
      <text>{{workEndMinute}}</text>
    </view>
    
    
    • JS
    Page({
    
        /**
         * 页面的初始数据
         */
        data: {
          workStartHour: "", //开始的小时数
          workStartMinute: "", //营业开始时间的分钟数
          workEndHour: "", //营业结束的小时数
          workEndMinute: "", //营业结束的分钟数
          startHourZero: true, //是否显示开始的小时的0
          endHourZero: true, //是否显示结束的小时的0
          startMinuteZero: true, //是否显示开始的分钟的0
          endMinuteZero: true //是否显示结束的分钟的0
        },
    
        /**
         * 生命周期函数--监听页面加载
         */
        onLoad: function(options) {
         var that = this;
    
          var workStartTime = 480;
          var workEndTime = 1090;
          var startMinute = workStartTime % 60;
          console.log('开始分钟数' + startMinute);
    
          //开始时间的处理
          var startMinute = workStartTime % 60;
          console.log('开始分钟数' + startMinute);
          var startHour = workStartTime / 60;
          console.log('开始小时数' + startHour);
    
          //结束时间的处理
          var endMinute = workEndTime % 60;
          console.log('结束分钟数' + endMinute);
          var endHour = workEndTime / 60
          console.log('结束小时数' + endHour);
        
    
        // 开始时间的判定
        //如果开始营业时间是整的小时数
        if (startMinute == 0) {
          console.log('整点开门')
          // 小时数  > 9
          if (startHour > 9) {
            that.setData({
              workStartHour: startHour,
              startHourZero: true,
              startMinuteZero: false,
              workStartMinute: 0,
            })
            //小时数 < 9
          } else {
            that.setData({
              workStartHour: startHour,
              startHourZero: false,
              startMinuteZero: false,
              workStartMinute: 0
            })
          }
          //如果分钟数介于0-10
        }
    
        if (startMinute < 10) {
          console.log('处于0-10')
          if (startHour > 9) {
            that.setData({
              workStartHour: startHour,
              workStartMinute: startMinute,
              startHourZero: true,
              startMinuteZero: false
            })
          } else {
            that.setData({
              workStartHour: startHour,
              workStartMinute: startMinute,
              startHourZero: false,
              startMinuteZero: false
            })
          }
    
        }
        if (startMinute > 9) {
          console.log('进入分钟数大于10的循环')
          if (startHour > 9) {
            that.setData({
              startHourZero: true,
              startMinuteZero: true,
              workStartHour: startHour,
              workStartMinute: startMinute
            })
          } else {
            that.setData({
              startHourZero: false,
              startMinuteZero: true,
              workStartHour: startHour,
              workStartMinute: startMinute
            })
          }
       }
    
        //结束时间的判定
        if (endMinute == 0) {
          console.log('整点开门')
          // 小时数  > 9
          if (endHour > 9) {
            that.setData({
              workEndHour: endHour,
              endHourZero: true,
              endMinuteZero: false,
              workEndMinute: 0,
            })
            //小时数 < 9
          } else {
            that.setData({
              workEndHour: endHour,
              endHourZero: false,
              endMinuteZero: false,
              workEndMinute: 0
            })
          }
          //如果分钟数介于0-10
        }
    
    
        if (endMinute < 10) {
          console.log('结束时间的分钟数处于0-10')
          if (endHour > 9) {
            that.setData({
              workEndHour: endHour,
              workEndMinute: endMinute,
              endHourZero: true,
              endMinuteZero: false
            })
          } else {
            that.setData({
              workEndHour: endHour,
              workEndMinute: endMinute,
              endHourZero: false,
              endMinuteZero: false
            })
          }
    
        }
        if (endMinute > 9) {
          console.log('结束时间进入分钟数大于10的循环')
          if (endHour > 9) {
            that.setData({
              endHourZero: true,
              endMinuteZero: true,
              workEndHour: endHour,
              workEndMinute: endMinute
            })
          } else {
            that.setData({
              endHourZero: false,
              endMinuteZero: true,
              workEndHour: endHour,
              workEndMinute: endMinute
            })
          }
        }
    }
    })
    

    总结

    写法有点傻,不过还是可以用的,哈哈,逻辑小白的神思路,希望能帮到大家啦

    相关文章

      网友评论

          本文标题:小程序页面时间的渲染

          本文链接:https://www.haomeiwen.com/subject/hmabiqtx.html