最近在项目中偶然发现一段别人写的代码,获取一个中有多少天,以前写这个的时候,基本是定义一个数组
[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。可在方法里面做对应的修正。这样是不是更简单点,只是看着没有上面的直观,更没有第一个方法直观
相关推荐
在Python中获取指定日期范围内的每一天、每个月和每季度的方法,涉及到使用Python标准库中的datetime、timedelta以及calendar模块。具体来说,可以分为以下几点进行详细说明: 1. 获取指定日期范围内的每一天 为了...
所写程序需要生成一个每月第一天与最后一天日期。归档!
在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# 获取每月的第一天 ...
在C语言中,输出每个月的天数涉及到日期和时间处理,这是编程中常见的任务之一。在C语言标准库中,可以使用`<stdio.h>`、`<time.h>`和`<stdlib.h>`等头文件来实现这个功能。下面将详细解释如何通过C语言程序来实现这...
在图像处理领域,获取图片每个像素点的RGB值是一项基础且重要的操作。RGB(Red, Green, Blue)是颜色模型的一种,它通过红、绿、蓝三种颜色的不同强度组合来表示各种颜色。以下是一个关于如何获取图片每个像素点RGB...
java 获取2个时间中的每一天
在Python编程中,有时我们需要获取特定年份中每个月的第一天和最后一天的日期,这在数据分析、日历应用或时间序列处理等场景中非常常见。本文将介绍两种方法来实现这个功能,帮助开发者更好地理解和应用。 ### 方法...
同理,获取上个月的最后一天则需要找到上个月的第一天后再加一天,因为每个月的最后一天是下个月的第一天的前一天。 在易语言中,我们可以使用以下步骤来实现: 1. 获取当前日期:使用内置函数“取日期”(GetDate...
Java 获取每月的最后一天实现方法 Java 获取每月的最后一天实现方法是指在 Java 编程语言中获取当前月份的最后一天的日期。下面是实现该功能的详细方法。 首先,我们需要使用 Java 的 Calendar 类来实现该功能。...
"第一天"和"最后一天"是指每个月的起始和结束日期。 在JavaScript中,我们可以使用内置的`Date`对象来处理日期和时间。要获取当前月份的第一天,我们需要创建一个`Date`对象,并将其设置为当前年份和月份的开始,...
在第二个方法中,同样声明了一个`@FistDayOfThisMonth`变量,通过`@NOW - DAY(@NOW) + 1`来获取当前月的第一天,这个表达式将当前日期减去其日数,然后加1,就得到了每月的第一天。 ```sql DECLARE @...
time: 返回的时间点,如果时间点为8点,返回的结束时间为第二天的8点,例如获取8月最后一天的结束时间,以8点计,则返回值为 2022-09-01 07:59:59.997 select dbo.GetDateStartFirstAndLast('-q','s','2022-08-03',...
2. 黄金等级2级用户每月有25条免费短信提醒。 3. 黄金等级3级用户每月可获得50条免费短信提醒。 4. 黄金等级4级用户每月可以使用100条短信提醒。 5. 黄金等级5级用户每月的短信提醒额度为150条。 6. 黄金等级6级用户...
综上所述,实现“Qt载入图片界面并获得每个像素点坐标”的功能,需要掌握Qt的图像处理(如`QImage`和`QPixmap`),事件处理(`mouseMoveEvent()`),以及颜色和像素操作等知识。通过这些技术,不仅可以创建一个基础...
要实现“每次加载自动跳到每月的第一天”,我们需要在窗体(`Form`)加载事件(`Load`事件)中设置`DateTimePicker`的`Value`属性。下面是一段示例代码: ```csharp private void Form1_Load(object sender, ...