用datepicker做了个页面,需求功能:需要根据用户在input框中选择的具体日期,显示那一周所有的日期
周一为第一天,周日为第7天,按照中国习惯。当用户不选择时,"datetime" 初始化为当天日期。<input type="text" id="datetime" name="datetime" value="<%=FStime(date())%>">对js不太熟悉,麻烦哪位大侠能给一个完整的代码,谢谢实在勉强的话,给出代码能实时获取用户选择改变的"datetime" 值亦可。万分感谢。datepicker本周日期

解决方案 »

  1.   

    拆下字符串获得时间对象
    var d=new Date(year,month,day)
    month从0开始
    var n=d.getDay()获得日期是星期几 星期日是0  
    if(n==0){
    n=7;
    }
    只后向前推n天向后退7-n天试试
      

  2.   

    Date对象的运用,getFullYear()获取年、getMonth()+1获取月、getDate()获取今天是哪一天;
    getDay()获取今天是星期几:0代表星期日6代表星期六。然后就是判断一些处理,逻辑好的很快就做出来了。
      

  3.   

    <input type="text" id="datetime" name="datetime" onchange="get_week(this.value)" value="<%=FStime(date())%>">
    <script type="text/javascript">
        function get_week(v){
            var d = new Date(v.replace(/-/g,"/")),s="";
              for(var i=0;i<7;i++){
                d.setDate(d.getDate()+(i==0?0:1));
                s+=d.toLocaleDateString();
            }
            alert(s.replace(/年|月/g,"-").replace(/[^\d-]/g," "));
        }
    </script>
      

  4.   

    非常感谢不错 就是楼上这效果,但是我需要按照中国的方式 星期日为第7天,星期一为第一天。
    我需要用一定的样式替换初始化的本周系统日期展示,即替换页面div 的 ID部分内容但好像$("#show").html(s);不能实现循环输出的本周范围,只能显示1个日期,继续求教。
      

  5.   

    精简代码时出错,重新补上:<input type="text" id="datetime" name="datetime" onchange="get_week(this.value)" value="<%=FStime(date())%>">
            <script type="text/javascript">
            function get_week(v){
                var d = new Date(v.replace(/-/g,"/")),s="";
                d.setDate(d.getDate() - d.getDay()+1);//获取周一日期
                for(var i=0;i<7;i++){
                    d.setDate(d.getDate()+(i==0?0:1));
                    s+=d.toLocaleDateString();
                }
                alert(s.replace(/年|月/g,"-").replace(/[^\d-]/g," "));
            }
    </script>