本帖最后由 J2EE_VIVA 于 2009-08-24 13:57:35 编辑

解决方案 »

  1.   


    var s = "2008-2";
    var a =s.split("-");
    y = parseInt(a[0],10);
    m = parseInt(a[1],10);dt =  new Date(y, m-1, 1);
    switch(dt.getDay()){
      case 0: w = "星期日";break;
      case 1: w = "星期一";break;
      case 2: w = "星期二";break;
      case 3: w = "星期三";break;
      case 4: w = "星期四";break;
      case 5: w = "星期五";break;
      case 6: w = "星期六";break;
    }
    alert(s + "月1日" + w);
    dt = new Date(y, m, 0);
    alert(s + "月共" + dt.getDate() + "天")
      

  2.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>表格属性的操作</title>
    </head> 
    <body>
    <script language="javascript" type="text/javascript">
    //问题1
    var d=new Date();
    var xMonth=1;   //根据需要修改指定定不同的月份
    d.setMonth(xMonth-1);
    var e=d.toString().split(" ")[0];
    alert(xMonth+" 月第一天是星期 "+e);<!--HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH-->//问题2
    var dt1,dt2
    var chkMonth=5;   //根据需要修改
    var dayTime=24*60*60*1000;
    if (chkMonth<0) chkMonth=1;
    if (chkMonth>12) chkMonth=12;
    dt1=new Date();
    dt2=new Date();
    dt1.setMonth(chkMonth-1);
    dt1.setDate(0);
    dt1.setHours(0);
    dt1.setMinutes(0);
    dt1.setSeconds(0);
    dt1.setMilliseconds(0);dt2.setMonth(chkMonth);
    dt2.setDate(0);
    dt2.setHours(0);
    dt2.setMinutes(0);
    dt2.setSeconds(0);
    dt2.setMilliseconds(0);
    var dTime=dt2-dt1;
    var days=Math.floor(dTime/dayTime);
    alert(chkMonth+" 月共有 "+days+" 天");
    </script>
    </body>
    </html>
      

  3.   

    谢谢,hookee。
    麻烦hookee帮我解释一下,可以嘛?
      

  4.   

    //问题1
    var d=new Date();
    var xMonth=1;          //根据需要修改指定定不同的月份
    d.setMonth(xMonth-1);
    d.setDate(0);
    var e=d.toString().split(" ")[0];
    alert(xMonth+" 月第一天是星期 "+e);
    问题1 少了一个设置,见红色部分,其他的没问题,可以是任意的年月日
      

  5.   

    dt = new Date(y, m, 0);
    第三个参数的意思就是上个月的月末
    - -!
      

  6.   

    取得第一天
    Date(年,月.日)中日期的月份是0-11,所以2月份的话,参数是1
    dt =  new Date(y, m-1, 1); 取得2008-2-1的日期
    用dt.getDaty()取该日期的星期,取值范围是0-6,分别对应 周日到周六
    ------------
    取天数
    算法是取得下个月的第一天,减去一天就是本月的最后一天,取其日期就是天数了
    dt =  new Date(y, m, 1); 是下个月第一天
    dt =  new Date(y, m-1, 1-1); 就是本月的最后一天(天数-1)
    dt.getDate()取得日期,就是天数了
      

  7.   


    dt =  new Date(y, m-1, 1-1); 就是本月的最后一天(天数-1) 
    根据1楼代码结果,我总有点感觉结果应该是 m-1 月份的前一天,也就是 (m-1)-1 月份的最后一天;是不是啊?!!