最近在项目中偶然发现一段别人写的代码,获取一个中有多少天,以前写这个的时候,基本是定义一个数组
[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
然后用月份做下标去取得到 days, 然后再执行 days += days < 30 && isLeapYear(year) ? 1 : 0; 以此来修正闰年2月份的天数。其中isLeapYear是用判断是否是闰年的,可用下面的方法判断
year % 4 === 0 && year % 100 !== 0 || year % 400 === 0
但是在项目中看到的是,如果月份是8月或以上,给月份自加1,这样就可以用 月份%2,根据余数来判定是30天还是31天。省去定义数组的过程。想法不错,但是还是要判断月份是否大于等于8月份。不太好。
于是乎有了下面的方法
function isLeapYear(year) { return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0; } function daysInMonth(month, year) { if (month === 2) { return isLeapYear(year) ? 29 : 28; } return Math.ceil(Math.abs(month - 7.5)) % 2 + 30; }
这里的月份是从1-12,如果月份是从0开始到11。可在方法里面做对应的修正。这样是不是更简单点,只是看着没有上面的直观,更没有第一个方法直观
相关推荐
在Java中,要计算一个月内有多少个工作日(通常指周一至周五),以及具体哪些日子是工作日,可以通过多种方法实现。这里将介绍一种较为通用的方法:利用`java.util.Calendar`类来计算指定月份内的工作日。 #### 一...
例如,如果你想知道2022年2月有多少天,可以这样写: ```delphi var LastDay: Integer; begin LastDay := DateUtils.MonthDays(2022, 2); Writeln('二月有', LastDay, '天'); end; ``` 但是,如果你有一个特定...
由于每个月的第一天总是1号,所以直接拼接即可: ```csharp string beforeMouthOneDay = beforeYear + "年" + beforeMouth + "月" + 1 + "日"; ``` 获取上个月最后一天的日期稍微复杂些,因为不同月份的天数不同。...
例如,财务软件中可能需要根据月份计算账期结束日期,日历应用程序可能需要显示每个月的具体天数,或者在数据分析中,需要对时间序列数据进行按月分组统计等。掌握这种基础的日期处理技巧,对于提高程序的灵活性和...
这段C++代码旨在实现一个功能,即根据用户输入的年份计算并输出该年份每个月的天数。在实现这个功能的过程中,涉及到的关键知识点包括闰年的判断、输入输出操作、数组以及循环控制。 首先,我们要了解闰年的计算...
在C#编程语言中,获取每个月的第一天和最后一天是一个非常实用的功能,尤其是在处理与日期相关的数据时。本文将详细解析如何使用C#代码来实现这一功能,并对给定的示例代码进行深入分析。 ### C# 获取每月的第一天 ...
在图像处理领域,获取图片每个像素点的RGB值是一项基础且重要的操作。RGB(Red, Green, Blue)是颜色模型的一种,它通过红、绿、蓝三种颜色的不同强度组合来表示各种颜色。以下是一个关于如何获取图片每个像素点RGB...
java 获取2个时间中的每一天
在Python编程中,有时我们需要获取特定年份中每个月的第一天和最后一天的日期,这在数据分析、日历应用或时间序列处理等场景中非常常见。本文将介绍两种方法来实现这个功能,帮助开发者更好地理解和应用。 ### 方法...
在Python中获取指定日期范围内的每一天、每个月和每季度的方法,涉及到使用Python标准库中的datetime、timedelta以及calendar模块。具体来说,可以分为以下几点进行详细说明: 1. 获取指定日期范围内的每一天 为了...
同理,获取上个月的最后一天则需要找到上个月的第一天后再加一天,因为每个月的最后一天是下个月的第一天的前一天。 在易语言中,我们可以使用以下步骤来实现: 1. 获取当前日期:使用内置函数“取日期”(GetDate...
自动获取全年每个月的月初日常到月末日期.xlsx
time: 返回的时间点,如果时间点为8点,返回的结束时间为第二天的8点,例如获取8月最后一天的结束时间,以8点计,则返回值为 2022-09-01 07:59:59.997 select dbo.GetDateStartFirstAndLast('-q','s','2022-08-03',...
在ASP.NET开发中,我们经常会遇到需要处理日期和时间的需求,比如计算一个月中的第几周、星期几,或者获取特定日期对应的星期日和星期一,以及判断某个月有多少天。以下将详细介绍这些知识点。 首先,我们需要理解...
综上所述,实现“Qt载入图片界面并获得每个像素点坐标”的功能,需要掌握Qt的图像处理(如`QImage`和`QPixmap`),事件处理(`mouseMoveEvent()`),以及颜色和像素操作等知识。通过这些技术,不仅可以创建一个基础...
6. **获取每月的第一天**:类似地,可以创建一个新的函数来获取每月的第一天,这通常需要检查月份的变化。 7. **获取每年的第一天**:对于每年的第一天,你可能需要检查年份的变化,因为每月的第一天不一定是每年的...
获取一个文本上每个字符出现的次数,将结果写在times.txt上
在Windows操作系统上,使用C++来获取电脑上的摄像头个数以及每个摄像头的名称涉及到几个关键的知识点。首先,我们需要理解Windows API(应用程序编程接口)如何与硬件设备进行交互,特别是如何通过API调用来访问和...
在C语言中,输出每个月的天数涉及到日期和时间处理,这是编程中常见的任务之一。在C语言标准库中,可以使用`<stdio.h>`、`<time.h>`和`<stdlib.h>`等头文件来实现这个功能。下面将详细解释如何通过C语言程序来实现这...
要实现“每次加载自动跳到每月的第一天”,我们需要在窗体(`Form`)加载事件(`Load`事件)中设置`DateTimePicker`的`Value`属性。下面是一段示例代码: ```csharp private void Form1_Load(object sender, ...