计算一个日期是当年中的第几天
时间: 2024-02-21 20:00:08 浏览: 32
可以通过以下步骤计算一个日期是当年中的第几天:
1. 获取该日期的月份和日。
2. 创建一个数组,用来保存每个月的天数,平年和闰年分别为:
```
const daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; // 平年
const daysInMonthLeap = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; // 闰年
```
3. 判断该日期所在的年份是否为闰年,如果是,则使用`daysInMonthLeap`数组,否则使用`daysInMonth`数组。
4. 遍历该日期之前的所有月份,累加每个月份的天数。
5. 将累加的天数加上该日期的日,即可得到该日期是当年中的第几天。
代码实现如下(假设要计算的日期为`date`):
```
function getDayOfYear(date) {
const year = date.getFullYear();
const isLeapYear = (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
const daysInMonth = isLeapYear ? daysInMonthLeap : daysInMonth;
let dayOfYear = 0;
for (let i = 0; i < date.getMonth(); i++) {
dayOfYear += daysInMonth[i];
}
dayOfYear += date.getDate();
return dayOfYear;
}
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)