收藏
回答

大佬救救小弟,有一个很简单的需求。做一个picker,里面的时间是7天之内。需要用js计算?

大佬们,小弟的js太弱了。

比如今天是8月5日,我要算7天之内的日子。=》那就是8月6日,8月7日,。。。8月12日,这样七天。(要把这7天循环出来)随着日子的变化,数据自动变化。这是要用时间戳来计算吧?希望大佬说仔细点。手摸手教学。

效果如下:



回答关注问题邀请回答
收藏

3 个回答

  • 微喵网络
    微喵网络
    2020-08-05
    let now=new Date(),
    
    	year=now.getFullYear(),
    
    	month=now.getMonth(),
    
    	day=now.getDate(),
    
    	days=[]
    
    for(var i=0;i<7;i++){
    
    	days.push((new Date(year, month, (day+i)).getMonth()+1)+'月'+new Date(year, month, (day+i)).getDate()+'日')
    
    }
    console.log(days)
    
    2020-08-05
    有用 1
    回复 1
    • 。
      2020-08-05
      激动的新的心,颤动的手。谢谢,非常有用
      2020-08-05
      回复
  • .
    .
    2020-08-05

    picker有start 和 end start写今天的日期 end写七天后的日期。

    function getNowFormatDate() {
        var date = new Date();
        var seperator1 = "-";
        var seperator2 = ":";
        var month = date.getMonth() + 1;
        var strDate = date.getDate();
        if (month >= 1 && month <= 9) {
            month = "0" + month;
        }
        if (strDate >= 0 && strDate <= 9) {
            strDate = "0" + strDate;
        }
        var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
                + " " + date.getHours() + seperator2 + date.getMinutes()
                + seperator2 + date.getSeconds();
        return currentdate;
    }
    
    var date = new Date();
    //这里的7就是你要加的天数,减也可以。年、月会相应加上去,值得注意的是date.getMonth()得到的月份比实际月份小1,所以实际月份是(date.getMonth()+1)
    date.setDate(date.getDate() + 7);
    console.log(date.getFullYear() +"-"+ (date.getMonth()+1) +"-"+ date.getDate());
    


    2020-08-05
    有用 1
    回复 1
    • 。
      2020-08-05
      激动的新的心,颤动的手。谢谢,非常有用
      2020-08-05
      回复
  • 郑钱花
    郑钱花
    2020-08-05

    这个的缺点是格式被固定,其他全是优点

    不然就js计算,处理时间用moment.js比较方便

    2020-08-05
    有用
    回复
登录 后发表内容
问题标签