收藏
回答

ios日历显示问题,真机调试没问题,上传之后扫码之后日历的日期部分无法显示,安卓

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小程序 Bug iOS 未知 iphone 最新

ios日历显示问题,真机调试没问题,上传之后扫码之后日历的日期部分无法显示,安卓没问题~

日历代码:

<view class='date-box'>

    <block wx:for='{{dateArr}}' wx:key=''>

        <view class='{{isToday == item.isToday ? "nowDay" : ""}}' >

            <view class='date-head {{selectnum == item.dateNum ? "select" :""}}' bindtap='lookHuoDong' data-year='{{year}}' data-month='{{month}}' data-datenum='{{item.dateNum}}' bindtap='updataList'>

            <view>{{item.dateNum}}</view>

            </view>

        </view>

    </block>

</view>


js:

dateInit: function (setYear, setMonth) {

//全部时间的月份都是按0~11基准,显示月份才+1

let dateArr = [];                       //需要遍历的日历数组数据

let arrLen = 0;                         //dateArr的数组长度

let now = setYear ? new Date(setYear, setMonth) : new Date();

let year = setYear || now.getFullYear();

let nextYear = 0;

let month = setMonth || now.getMonth();                 //没有+1方便后面计算当月总天数

let nextMonth = (month + 1) > 11 ? 1 : (month + 1);

let startWeek = new Date(year + ',' + (month + 1) + ',' + 1).getDay();                          //目标月1号对应的星期

let dayNums = new Date(year, nextMonth, 0).getDate();               //获取目标月有多少天

let obj = {};

let num = 0;


if (month + 1 > 11) {

nextYear = year + 1;

dayNums = new Date(nextYear, nextMonth, 0).getDate();

}

arrLen = startWeek + dayNums;

for (let i = 0; i < arrLen; i++) {

if (i >= startWeek) {

num = i - startWeek + 1;

obj = {

isToday: '' + year + (month + 1) + num,

dateNum: num,

weight: 5

}

} else {

obj = {};

}

dateArr[i] = obj;

}

this.setData({

dateArr: dateArr

})

let nowDate = new Date();

let nowYear = nowDate.getFullYear();

let nowMonth = nowDate.getMonth() + 1;

let nowWeek = nowDate.getDay();

let getYear = setYear || nowYear;

let getMonth = setMonth >= 0 ? (setMonth + 1) : nowMonth;

if (nowYear == getYear && nowMonth == getMonth) {

this.setData({

isTodayWeek: true,

todayIndex: nowWeek

})

} else {

this.setData({

isTodayWeek: false,

todayIndex: -1

})

}

console.log(new Date(year, nextMonth, 0).getDate(),dateArr, arrLen, now, year, month, nextMonth, startWeek)

},


最后一次编辑于  2019-01-10
回答关注问题邀请回答
收藏

4 个回答

  • 忠诚
    忠诚
    2022-05-26

    楼主,这个问题,你是怎么解决的


    2022-05-26
    有用
    回复
  • 沐
    2020-03-27

    数据问题

    let startWeek = new Date(year + ',' + (month + 1) + ',' + 1).getDay();                          //目标月1号对应的星期

    

    改为:let startWeek = new Date(year, month, 1).getDay()



    2020-03-27
    有用
    回复
  • 2019-01-10

    您试一下

    2019-01-10
    有用
    回复
  • 灵芝
    灵芝
    2019-01-10

    麻烦提供出现问题的机型和微信版本,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2019-01-10
    有用
    回复 4
    • 2019-01-10

      马上,您稍等,机型就是ios全部ios,微信版本7.0.1,代码片段马上...


      2019-01-10
      回复
    • 2019-01-10回复

      https://developers.weixin.qq.com/s/Ivj0Wfm77b59

      2019-01-10
      回复
    • 2019-01-10回复

      您试一下

      2019-01-10
      回复
    • 灵芝
      灵芝
      2019-01-11回复

      哈?这个代码片段好像跟日历没啥关系呀,是一个录音的呀

      2019-01-11
      回复
登录 后发表内容