JavaScript 计算指定月份有多少天

用 js 画工作日历的时候,需要用 js 计算指定月份一共有多少天

在网上找了些方法,都比较繁琐,后来灵机一动,想到一个偷懒的办法,分享一下

一、原理分析

要想得到某月有多少天,只需要获取到当月最后一天的日期就行了

围绕这一思路,灵活调用 setMonth(),getMonth(),setDate(),getDate(),计算出所需日期

二、代码实现

function getMonthLength(date) {
  let d = new Date(date)
  // 将日期设置为下月一号
  d.setMonth(d.getMonth()+1)
  d.setDate(‘1‘)
  // 获取本月最后一天
  d.setDate(d.getDate()-1)
  return d.getDate()
}

三、脸有点疼

发文还不到一小时,就被一位仁兄打脸了

原来还有更简单的办法:

new Date(year, month, 0).getDate()

使用 new Date() 创建时间对象时,如果 date 传入 0,就能直接通过 getDate() 获取到最后一天的日期

时间: 2024-11-05 23:20:54

JavaScript 计算指定月份有多少天的相关文章

JavaScript计算指定日期与当前日期的相差天数

java中处理2个时间段相差几天很容易,直接调相关方法就行,不过js处理这类问题稍微有点不易,项目开发中也用到了,如下: 1 2 3 4 5 6 7 8 9 10 11 12 //计算两个日期天数差的函数,通用 function dateDiff(sDate2) {     var sDate1=new Date().pattern("yyyy-MM-dd");     sDate2=LEx.util.Format.formatDate(sDate2,"yyyy-MM-dd&

js如何获取指定月份的天数

js如何获取指定月份的天数:有时候需要获取指定年中某一月的天数,因为每隔月的天数是有所不同的,并且不同年份同一个月的天数也有所不同,例如2月份,在闰年和平年的时候天数就是不同的,下面就介绍一个简单的方法来获取某一年中指定月份的天数.代码如下: function getDadys(whichYear,whichMonth) { var nextMoth=whichMonth+1 var nextYear=whichYear; if(nextMoth==13) { nextMoth=1; nextY

javascript计算字符串的长度区分中英文

javascript计算字符串的长度区分中英文:计算字符串的长度是常有的操作,代码如下: var str="I love 蚂蚁部落"; console.log(str.length); 使用length计算字符串的长度,得出的结果是字符串中字符的个数,而在实际应用中可能需要计算字符串所占有的字节长度,一个汉字占两个字节,一个英文字符占一个字节,代码如下: var zfl={}; zfl.GetLength=function(str){ var realLength=0,len=str.

计算指定字符串出现次数插件

计算指定字符串出现次数插件: 有时候需要计算移一段字符串中指定字符串的出现次数,可能应用不是那么频繁. 本章节分享一段代码实例能够实现类似的功能,当然也可以根据实际需要进行扩展. 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.51texiao.cn/&q

JAVA 打印指定月份日历

1 package learnExercise; 2 3 import java.util.Scanner; 4 5 public class PrintCalender { 6 7 /** 8 * @param args 9 */ 10 public static void main(String[] args) { 11 // TODO Auto-generated method stub 12 Scanner input=new Scanner(System.in); 13 14 Syst

js-显示指定周数的周一和周日,指定月份的第一天和最后一天-----------个人百度 整理的

工作需求,给定一个年份的周期数,需要显示该周的周一和周日以及指定月份的第一天和最后一天 百度整理后显示贴出来,表示个人还不理解为什么,希望有人可以解释一下 贴代码: <script type="text/javascript"> var iweek = function(year, week) { var d = new Date(year, 0, 1);//初始化日期 d 表示输入年份的第一天 while (d.getDay() != 1) { d.setDate(d.g

计算指定日期的前N个月日期

/**     * 计算指定日期的前N个月日期     * @param type $time      * @param int $month_length     * @return date     */    public function calLMP($time,$month_length ){        $r = date('Y-m-d',strtotime('-'.$month_length.'month',strtotime($time)));        list($e

javascript如何指定元素的拖拽范围

javascript如何指定元素的拖拽范围:有时候拖拽效果需要限定在某一个指定的元素之内,也就是说只能够在指定的元素内进行拖拽,下面就通过一个代码实例介绍一下如何实现此效果.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/&q

java小练习:.根据输入的月份,判断该月份有多少天

package practiceGO; import java.util.Scanner; /*  * 2.根据输入的月份,判断该月份有多少天  */ public class Cto { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("输入月份:"); int month = sc.nextInt(); switch (month) {