新闻中心
js switch语句计算指定日期是今年的第几天
首先判断年份是否为闰年,再通过switch语句累加前几个月天数,最后加上当月日期得出当年第几天。例如2025年3月1日为第61天,因2025是闰年,2月有29天。

要计算指定日期是今年的第几天,可以使用 J*aScript 的 Date 对象结合 switch 语句来累加前面月份的天数。以下是实现方法:
1. 获取年月日并判断是否为闰年
首先从日期对象中提取年份和月份,并编写一个函数判断该年是否为闰年,因为2月的天数会受影响。
闰年规则:能被4整除且不能被100整除,或能被400整除。2. 使用 switch 累加前几个月的总天数
通过 switch 语句从1月开始向下穿透,逐个加上每个月的天数,直到目标月份的前一个月。
示例代码:
function getDayOfYear(year, month, day) {
// year: 年份,month: 1-12,day: 1-31
const isLeap = (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);
let totalDays = day;
<pre class="brush:php;toolbar:false
;">switch (month - 1) {
case 11: totalDays += 30; // 12月 -> 加11月
case 10: totalDays += 31; // 10月
case 9: totalDays += 30; // 9月
case 8: totalDays += 31; // 8月
case 7: totalDays += 31; // 7月
case 6: totalDays += 30; // 6月
case 5: totalDays += 31; // 5月
case 4: totalDays += 30; // 4月
case 3: totalDays += 31; // 3月
case 2: totalDays += 28 + (isLeap ? 1 : 0); // 2月(考虑闰年)
case 1: totalDays += 31; // 1月
}
return totalDays;}
3. 调用示例
比如计算 2025年3月1日 是当年第几天:
ChatCut
AI视频剪辑工具
1086
查看详情
console.log(getDayOfYear(2025, 3, 1)); // 输出 61
因为2025是闰年,1月31天 + 2月29天 + 3月1天 = 61
这种方法利用 switch 的“穿透”特性,避免写多个 if 或数组查表,逻辑清晰且效率不错。
基本上就这些,不复杂但容易忽略闰年和月份边界问题。
以上就是js switch语句计算指定日期是今年的第几天的详细内容,更多请关注其它相关文章!
# javascript
# 多个
# 视频网站如何做播放优化
# 推广营销哪个公司好
# 新站网站优化外包公司
# 双辽品牌网站建设
# tdk和seo
# 云台山景区整体营销推广
# 营销推广百科全书
# seo厂家价格表
# 宿迁网站建设怎样开通
# 齐商银行营销推广招聘面试题
# 一个月
# 当年
# 它很
# 如何使用
# 管理器
# 有何
# 几个月
# 有什么
# 几天
# switch
# js
# java
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
Shopware订单对象中获取产品自定义字段的正确方法
拷贝漫画电脑版官网入口 拷贝漫画(PC版)在线直达
如何为你的Composer包编写自动化测试_集成PHPUnit到Composer的scripts工作流
QQ官网正版登录链接 QQ在线登录入口最新
虫虫漫画精品漫画官网_虫虫漫画精品漫画官网进入精品漫画
Python实时数据流中的动态最值查找策略
J*a里如何使用forEach遍历Map_Map遍历方法说明
C++编译期如何执行复杂计算_C++模板元编程(TMP)技巧与应用
c++如何使用折叠表达式(Fold Expressions)_c++17可变参数模板新技巧
Golang如何使用bytes.Split分割字节切片_Golang bytes切片分割方法
windows10怎么查看硬盘序列号_windows10硬盘id查询命令
Excel如何用迷你图显趋势_Excel用迷你图显趋势【趋势小图】
一加 Nord 5 隐私权限异常_一加 Nord 5 系统安全优化
win11如何加载ICC颜色配置文件 Win11校色文件安装与显示器色彩管理【指南】
如何在更新Composer依赖后自动运行测试_使用post-update-cmd钩子触发PHPUnit
必由学登录入口 必由学官方网站在线访问链接
mc.js免安装版 mc.js一键畅玩入口
Golang如何实现微服务鉴权与权限控制_Golang微服务鉴权与权限管理实践
Pyrogram与g4f集成:异步编程实践与常见错误解决
HTML空白字符处理机制:渲染、DOM与编码实践
文本文档写html代码怎么运行_文本文档html代码运行步骤【教程】
J*aScript:在map操作中高效处理空数组
Yandex官方入口网址 Yandex俄罗斯搜索引擎最新在线地址
怎样把文件彻底粉碎无法恢复_Windows下安全删除敏感数据【隐私保护】
漫蛙2在线漫画入口 漫蛙正版漫画网页版直达
腾讯QQ邮箱登录入口_QQ邮箱官方网站使用地址
Angular响应式表单:实现提交后表单及按钮的禁用与只读化
Win11怎么开启高性能模式_Windows 11电源计划优化设置
Golang如何安装Swagger工具_GoSwagger文档生成环境
C++ vector二维数组定义_C++ vector of vector用法
c++如何实现一个简单的软件渲染器_c++从零开始的3D图形学
Safari浏览器输入栏卡顿如何解决 Safari搜索建议与缓存清理
PrimeNG Sidebar背景色自定义指南:CSS覆盖与主题化实践
Windows10怎么开启存储感知 Windows10系统设置自动清理临时文件释放C盘空间【教程】
将JSON对象数组转置为键值对列表的实用指南
Win10系统服务哪些可以禁用 Win10安全优化服务列表【干货】
小米Civi 4录制视频过暗_小米Civi 4亮度优化
sublime怎么覆盖插件的默认快捷键_sublime快捷键优先级与设置
J*aScript实现单选按钮与关联输入框的联动禁用教程
《铁拳8》黑皮辣妹新实机:元气满满的18岁少女!
C++ string find函数返回值npos详解_C++字符串查找失败的判断条件
Discord Slash 命令响应超时问题的异步解决方案
PS5 Pro有点优势但不多! 《燕云十六声》PS5平台与PC性能画面对比
火锅吃太多会怎样 火锅吃太多会上火吗
在J*a中如何在J*a中使用异常机制记录错误日志_异常日志实践经验
可靠CSGO开箱平台解析 CSGO开箱网合集
抖音商城签到领现金是真的吗_抖音商城签到奖励与提现说明
Centos/Linux 系统下安装 composer 的完整步骤
Golang如何实现Web文件静态资源服务器_Golang静态资源服务器开发与实践
css滚动区域卡顿如何改善_css滚动问题用will-change优化渲染


2025-11-17
浏览次数:次
返回列表
;">switch (month - 1) {
case 11: totalDays += 30; // 12月 -> 加11月
case 10: totalDays += 31; // 10月
case 9: totalDays += 30; // 9月
case 8: totalDays += 31; // 8月
case 7: totalDays += 31; // 7月
case 6: totalDays += 30; // 6月
case 5: totalDays += 31; // 5月
case 4: totalDays += 30; // 4月
case 3: totalDays += 31; // 3月
case 2: totalDays += 28 + (isLeap ? 1 : 0); // 2月(考虑闰年)
case 1: totalDays += 31; // 1月
}
return totalDays;