`

js得到一个月最大天数

阅读更多
JS里 面的new Date("xxxx/xx/xx")这个日期的构造方法有一个妙处,
当你传入的是"xxxx/xx/0"(0号)的话,得到的日期是"xx"月的前一个 月的最后一天("xx"月的最大取值是69,题外话),
当你传入的是"xxxx/xx/1"(1号)的话,得到的日期是"xx"月的后一个 月的第一天(自己理解)
如果传入"1999/13/0",会得到"1998/12/31"。而且最大的好处是当你传入"xxxx/3/0",会得到xxxx年2月的最后一天,它会自动判断当年是否是闰年来返回28或29,不用自己判断,
所以,我们想得到选择年选择月有多少天的话,只需要
var temp=new Date("选择年/选择月+1/0");
return temp.getDate()//最大天数
校验的话,也可以用这个方法。
下面是使用JS编写的获取某年某月有多少天的getDaysInMonth(year, month)方法:
function getDaysInMonth(year,month){
      month = parseInt(month,10)+1;
      var temp = new Date(year+"/"+month+"/0");
      return temp.getDate();
}

-------------------------------------------------------------
上面的方法不行,改用下面的
beforeMonthDay = function(){

//var curData=new Date("2013/3/01");
var curData = new Date();
   //获取上一月
   var year = curData.getFullYear();
   var month = curData.getMonth();
  
   //当前月
     month = parseInt(month,10)+1;
    
     var beforeMonthStartDay=null;
     //上一月的第一天
     if((month-1)==0){
        beforeMonthStartDay = new Date((year-1)+"/"+12+"/1");
     }else{
       beforeMonthStartDay = new Date(year+"/"+(month-1)+"/1");
     }
    
     //当前月第一天
     var curMonthStartDay = new Date(year+"/"+month+"/1");
     //上一月的最后一天
     var beforeMonthEndDay = new Date(curMonthStartDay.getTime()-3600*1000);
        
         //var c = curData.getFullYear()+"-"+(curData.getMonth()+1)+"-"+curData.getDate();
         var bs =beforeMonthStartDay.getFullYear()+"-"+(beforeMonthStartDay.getMonth()+1)+"-"+beforeMonthStartDay.getDate();
         var be =beforeMonthEndDay.getFullYear()+"-"+(beforeMonthEndDay.getMonth()+1)+"-"+beforeMonthEndDay.getDate();
   //alert("当前:"+c+"上月开始:"+bs+"上月结束:"+be+"");
   var ret ={};
   ret[0]=beforeMonthStartDay;
   ret[1]=beforeMonthEndDay;
   return ret;
}
分享到:
评论

相关推荐

    js,javascript得到一个月份的最大天数,巧妙实现

    这是我们公司的框架代码,给分,谢谢!js,javascript得到一个月份的最大天数,巧妙实现js,javascript得到一个月份的最大天数,巧妙实现js,javascript得到一个月份的最大天数,巧妙实现

    JS获取月的最后一天与JS得到一个月份最大天数的实例代码

    这个函数的工作原理是先获取下一个月的第一天,然后减去一天,从而得到上一月的最后一天。代码如下: ```javascript function getLastDay(year, month) { var new_year = year; // 取当前的年份 var new_month = ...

    JS获取月份最后天数、最大天数与某日周数的方法

    实现逻辑是创建了一个日期对象,指向了传入月份的下一个月的第一天,然后通过时间差分计算得到了传入月份的最后一天。这里注意,月份是从0开始的,因此需要对传入的月份进行加1的操作。 其次,获取某个月份总天数的...

    js计算两个日期间的天数月的实例代码

    否则,需要考虑上一月的最大天数,并进行相应的调整。最后,返回格式化的结果,如“X月零Y天”。 第二个函数 `timeDifc` 是用来计算两个日期之间的简单差值,返回的是一个字符串。这个函数首先将输入的日期字符串...

    Javascript获取某个月的天数

    Javascript里面的new Date(“xxxx/xx/xx”)这个日期的构造方法有一个妙处,当你传入的是”xxxx/xx/0″(0号)的话,得到的日期是”xx”月的前一个 月的最后一天(”xx”月的最大取值是69,题外话),如果传入”1999...

    JavaScript几个小作业

    `Math.abs()`返回一个数的绝对值,`Math.exp()`计算e(自然对数的底数)的指定次幂,`Math.log()`计算自然对数,`Math.max()`和`Math.min()`找到一组数中的最大值和最小值,`Math.pow()`执行幂运算,而`Math.sqrt()`...

    js时间+—函数.txt

    例如,在闰年的2月增加一个月将得到3月29日,而不是3月28日。 4. **时间单位的一致性**:在使用小时、分钟和秒作为时间间隔时,需要特别注意时间单位的一致性。例如,增加60分钟等同于增加1小时。 通过上述介绍,...

    解析JS在获取当前月的最后一天遇到的坑

    首先,一个简单的技巧是,如果你想获取上个月的最后一天,只需创建一个新的Date对象,然后将`setDate()`方法的参数设置为0,如`endDate.setDate(0)`。 常规的思路是先获取下个月的第一天,再减去一天以得到当前月的...

    JavaScript 取一个月的最后一天

    ### JavaScript 获取一个月的最后一天 在JavaScript中,获取指定月份的最后一天是一个常见的需求,尤其在处理日期相关的数据时。本文将详细介绍如何通过简单的代码实现这一功能,并解释其背后的原理。 #### 代码...

    JS练习题大全,适用于小白

    JS 实践题大全,适用于小白 一、打印所有的水仙花数 ...这个问题需要使用 JavaScript 来定义两个函数,一个判断是否为完数,另一个判断是否为质数,然后分别打印出结果。 知识点: * 函数定义 * 条件语句 * 数学运算

    js内计算日期差

    如果提供的数值超过了当月的最大天数,日期会自动滚动到下个月。 ### 3. 计算日期之间的差值 #### 3.1 计算日期差(小时/天) 文件中还提供了一个`dateDiff`函数来计算两个日期之间的差值,以小时或天为单位: `...

    javascript中Date对象应用之简易日历实现_.docx

    3. **计算月份的天数**:调用`date.getMonthDays()`(自定义方法,因为JavaScript的Date对象不直接提供获取月份总天数的方法)以得到该月的总天数。 4. **初始化日历**:清除`.dayBox`内的所有日期,然后根据月份...

    Js获取本地时间和相关操作

    - `MaxDayOfDate()`:获取指定日期的最大天数。 - `WeekNumOfYear()`:获取指定日期所在年的第几周。 通过以上介绍,我们可以看到JavaScript提供了丰富的API来处理日期和时间。掌握这些基本的使用方法和高级技巧...

    javascript

    - 校验码的计算是通过将15位身份证号码的每一位与对应的权重相乘,再求和得到一个数值,最后对该数值取模11来确定。 - **日期有效性检查**: - 对月份进行有效性检查,确保月份值在1到12之间。 - 对日期进行有效...

    华为OD机试C卷- 贪心歌手(Java & JS & Python & C).md-私信看全套OD代码及解析

    - 输出一个整数,表示歌手可以获得的最大收益。 #### 解决方案分析 此题可以通过动态规划方法解决。核心思路是在有限的时间内,通过调整在各个城市的停留天数来最大化总收入。由于歌手在每个城市卖唱的收入是递减的...

    身份证验证javascript脚本

    - 将身份证号码分割成一个个数字,存储在一个数组中。 - 分别乘以相应的权重(前十七位分别乘以7、9等),并计算总和。 - 使用模11得到的结果与预设的校验码对照表中的值进行匹配。 - 如果匹配成功,则表示...

    下拉框选择年月日代码

    // 每个月的最大天数 // 初始化年份下拉列表 var y = new Date().getFullYear(); for (var i = (y - 30); i (y + 30); i++) { document.form1.YYYY.options.add(new Option(" " + i + " 年", i)); } // ...

    华为OD机试C卷- 项目排期(Java & JS & Python & C).md-私信看全套OD代码及解析

    每一次分配,都从剩余未分配的任务中选取工作量最大的一个。 4. **计算结果**:累加每天被分配的任务的工作量,得到项目完成所需的总天数。 #### Java算法源码 ```java import java.util.Arrays; import java.util...

Global site tag (gtag.js) - Google Analytics