新闻中心

js switch语句计算指定日期是今年的第几天

2025-11-17
浏览次数:
返回列表
首先判断年份是否为闰年,再通过switch语句累加前几个月天数,最后加上当月日期得出当年第几天。例如2025年3月1日为第61天,因2025是闰年,2月有29天。

js switch语句计算指定日期是今年的第几天

要计算指定日期是今年的第几天,可以使用 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 ChatCut

AI视频剪辑工具

ChatCut 1086 查看详情 ChatCut
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优化渲染 

搜索