写日历的程序员,你必须弄懂的中国农历算法。

程序员如何用Python生成万年节气日历?datetime库实战24节气算法 本文详细介绍了如何利用Python的datetime库实现24节气算法,生成万年节气日历。从天文原理到数学建模,再到Python代码实现,逐步讲解节气计算的简化公式和核心算法,最终输出标准iCalendar格式文件,适合程序员学习和应用。 阅读详情

       写日历的程序员,你必须弄懂的中国农历算法。 NANSHAN即时通讯,我们知道农历通过置闰月的方式协调农历年和回归年长度不相等的问题,也知道了置闰的方法是“中气置闰”法,那么到底什么是“中气”,又是如何定中气置闰月呢?要回答这个问题,就需要介绍另一个天文现象――节气。二十四节气起源于黄河流域,远在春秋时代,就定出仲春、仲夏、仲秋和仲冬等四个节气。以后不断地改进与完善,到秦汉年间,二十四节气已完全确立,汉武帝太初元年(公元104年)制定的《太初历》,则第一次从历法上明确了二十四节气的天文位置。

        地球沿着一个近似椭圆轨道绕太阳公转,这个公转轨道所在的平面就是“黄道面”,黄道面向外延伸与天球的交线就是“黄道”。古人由于观测条件限制,只能根据视觉感觉认为是太阳沿着黄道绕地球运转,因此设定太阳从黄经(黄道经度)零度起(以春分点为起点自西向东度量),将太阳沿黄经每运行15度所经历的时日称为“一个节气”。太阳每年运行360度,共经历二十四个节气,春季的节气有立春(315度)、雨水(330度)、惊蛰(345度)、春分(0度、360度)、清明(15度)和谷雨(30度),夏季的节气有立夏(45度)、小满(60度)、芒种(75度)、夏至(90度)、小暑(105度)和大暑(120度),秋季的节气有立秋(135度)、处暑(150度)、白露(165度)、秋分(180度)、寒露(195度)和霜降(210度)。冬季的节气有立冬(225度)、小雪(240度)、大雪(255度)、冬至(270度)、小寒(285度)和大寒(300度)。二十四节气又细分为十二节气和十二中气,二十四节气按照顺序排在奇数位置上的就是节气,排在偶数位置上的就是中气。也就是说,立春、惊蛰、清明、立夏、芒种、小暑、立秋、白露、寒露、立冬、大雪和小寒就是十二个节气,而雨水、春分、谷雨、小满、夏至、大暑、处暑、秋分、霜降、小雪、冬至和大寒就是十二个中气。二十四个节气平分在公历的12个月中,每月一节气一中气。二十四节气反映了太阳的周年运动(以地球为参照物的视运动),所以节气在现行的公历中日期基本固定,上半年在6日、21日,下半年在8日、23日,前后不差 1~2天。中国民间流传的《二十四节气歌》就是为了方便记忆这些节气:

春雨惊春清谷天,

夏满芒夏暑相连,

秋处露秋寒霜降,

冬雪雪冬小大寒,

每月两节不变更,

最多相差一两天。

Java Swing万年历系统:带主题切换、闹钟提醒与节日标注的课程设计完整包 一个开箱即用的Java桌面日历程序,基于Swing构建,能实时显示日期时间,支持任意年月日跳转查看。内置春节、国庆等常见节日标记,还附带基础运势提示。提供白、黑、黄、暗色及Logo背景共5种界面皮肤,点击即可切换,无需重启。闹钟功能可自由设定多个时间点,触发时弹出提醒窗口并播放提示音。所有UI组件均封装为独立类(如NiceFrame、NiceCalendar、NiceAlarm等),结构清晰,便于理解与二次开发。压缩包包含全部.java源文件、JDK8+兼容的编译运行说明(README.md)、项目截图(页 阅读详情

相关推荐

用Delphi打造跨平台日程管理APP:SQLite存储与通知机制实战

在移动应用开发领域,跨平台方案层出不穷,但工具型应用往往需要兼顾开发效率与系统底层控制力。Delphi作为老牌RAD工具,凭借其强大的组件生态和原生API调用能力,在快速构建内部工具、小型业务系统时依然具有独特价值。本文从通用技术原理切入,讲解如何利用SQLite实现轻量级数据持久化,通过FireMonkey框架统一Windows与Android界面逻辑,并结合本地通知与定时轮询机制完成日程提醒功能。同时,针对日期处理、农历转换、Excel批量导入等典型场景给出工程化解决方案,帮助开发者规避中文乱码、后台进

weixin_29722783的博客 340

农历算法简介以及公式

一、节气的计算   先给节气进行编号,从近日点开始的第一个节气编为0,编号如下及其相应的月份如下: 0 小寒 腊月6  清明 三月12 小暑 六月18 寒露 九月1 大寒 腊月7  谷雨 三月13 大暑 六月19 霜降 九月2 立春  正月8  立夏 四月

mounting的专栏 4905

C++算法系列之中国农历的算法

主要介绍了C++计算中国农历的深入浅析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

农历的计算---C++

历法基本知识总结,不废话。太阳公转周期,一年时间约365.2425天。公历为了对齐公转周期,4年一闰,100年一停闰,400年加一闰。 400年共97闰, (365×400+97)/400 = 365.2425农历,一个月相周期为一月,月相周期大约为29.53,   有大小月之分,大月30天,小月29天。月相变化受到地球公转和月亮围绕地球转的共同影响,两个都是椭圆轨道,且不在一个平面上

mounting的专栏 2004

40-基于STM32与LD3320的智能语音调光台灯开发全攻略(代码+硬件+调试心得)

本文详细介绍了基于STM32与LD3320的智能语音调光台灯开发全攻略,包括硬件设计、软件实现和调试心得。项目利用STM32单片机控制LD3320语音识别模块,实现语音控制开关和PWM调光功能,适合非接触式操作场景。文章还分享了硬件选型、PWM调光算法优化及常见问题解决方案,为开发者提供完整参考。

weixin_29163797的博客 325

Windows Server+SqlServer Always On实战:5步搞定高可用集群搭建

本文详细介绍了在Windows Server环境中,通过5个关键步骤搭建SQL Server Always On高可用集群的实战指南。内容涵盖从底层故障转移集群配置、SQL Server实例启用Always On功能,到创建可用性组和侦听器的完整流程,并提供了核心运维与故障排查思路,帮助企业构建稳定可靠的数据库高可用架构。

milk5的博客 859

算法系列之十七:日历生成算法-中国公历(格里历)(下)

【接上篇】 上述计算星期的方法虽然步骤简单,但是每次都要计算两个日期的时间差,不是非常方便。如果能够有一个公式可以直接根据日期计算出对应的星期岂不是更好?幸运的是,这样的公式是存在的。此类公式的推导原理仍然是通过两个日期的时间差来计算星期,只是通过选择一个特殊的日期来简化公式的推导。这个所谓的特殊日期指的是某一年的12月31日这天刚好是星期日这种情况。选择这样的日子有两个好处,一个是计算上可以省去计算标准日期这一年的剩余天数,另一个是计算出来的日期差余数是几就是星期几,不需要再计算星期的差值。人们知道

二进制模----细微行动改变影响世界 950

基于Plecs的LLC谐振变换器闭环设计:从PI参数整定到动态响应优化

本文详细介绍了在Plecs仿真环境中,如何为半桥LLC谐振变换器设计并优化闭环控制系统。从开环模型搭建与特性分析入手,重点阐述了基于频域法的PI控制器参数整定流程,并通过负载阶跃、输入电压突变等测试优化动态响应。文章还分享了从仿真模型过渡到实际硬件时的关键注意事项,帮助工程师实现稳定、高效的电源设计。

e4f5g6h的博客 624

关于中国日历部分算法---摘自别人Blog

 历法说明  本文是对最近做历法研究时写的 CnCalendar 单元的算法总结与说明。目前还是草稿,缺农历算法部分。======================================================================1. CnCalendar 介绍=======================================================

qsd007的专栏 7469

Clawdbot安装教程:从零开始到接入飞书

这几天,Clawdbot把整个科技圈都刷屏了。就是这个胖逼小龙虾🦞。不过现在改名叫Moltbot了。原因很简单:被Anthropic告了。Anthropic觉得Clawdbot这名字太像Claude Code的延伸产品,要求改名。真的,Anthropic你这家伙…更离谱的是,因为Clawdbot太火,Mac Mini都被抢断货了。无数人为了用它,疯狂买Mac Mini。我刚打开美团外卖,发现居然没货了???

Maynor的博客 2179

mpv 源码深度解析:从 MPlayer 遗产到现代媒体播放器架构

做减法优于做加法:不值得维护的功能就移除(DVD 菜单、流缓存等)单线程事件驱动:核心逻辑在单线程中运行,通过 dispatch 队列处理并发分离关注点:demuxer 线程、VO 线程、脚本线程各司其职质量优先:使用 GPU 着色器而非固定功能硬件,默认软件解码(更可靠)可嵌入性:libmpv API 让 mpv 可以作为库嵌入其他应用mpv 是一个用纯 C 实现的、工程质量极高的媒体播放器。它的代码库展示了一个事实:C 语言完全可以通过良好的架构设计来实现复杂的多媒体系统。

世界那么大,我想去看看~【随心更新,看世界去了😄】 93

农历02__资料

1、http://blog.youkuaiyun.com/orbit/article/category/830251   1.1、算法系列之二十:计算中国农历(一)(http://blog.youkuaiyun.com/orbit/article/details/9210413)   1.2、算法系列之二十:计算中国农历(二)(http://blog.youkuaiyun.com/orbit/article/details/93...

weixin_30532987的博客 245

2026.11.12:2026.11.12最新的Ubuntu26.04安装docker-ce

本文介绍了在Ubuntu 26.04系统上安装Docker CE的完整步骤。首先需要卸载旧版本的Docker组件,然后通过设置官方仓库进行安装。具体步骤包括:更新系统、安装必要依赖、添加Docker GPG密钥、配置稳定版仓库源、安装Docker Engine及containerd。文章还提供了安装特定版本Docker的方法,并说明了如何将用户加入docker组以获取权限,最后设置Docker开机自启。整个过程详细清晰,适合在Ubuntu系统上部署Docker环境的用户参考。

拥抱具身智能,昇腾Ascend C 523

从‘农历信息表’到‘干支生肖’:一份给程序员看的中华历法入门指南

本文为程序员提供了一份中华历法入门指南,详细解析了农历信息表、干支生肖的计算原理及实现方法。通过十六进制数组、阴阳合历算法和二十四节气计算,帮助开发者理解并实现农历转换功能,提升对传统历法的编程应用能力。

weixin_26905487的博客 224

orangepi香橙派用户名及密码修改和VNC远程登陆

1、修改 /etc/passwd用户信息文件 vim /etc/passwd #admin❌503:501::/home/admin:/bin/bash #把用户名admin改成rest #test❌503:501::/home/test:/bin/bash 2、修改 /etc/shadow用户密码文件 vim /etc/shadow #admin:Dnakfw28zf38w:8764:0:168:7::: #由于密码加密方式存放,只修改用户名即可(密码不变) #test:Dnakfw28zf38w:876

weixin_40227845的博客 5663

别再让 AI 瞎写 SAP 代码了!这套 Claude Code Skill 的验证机制才是关键

本文深入解析了专为SAP CAP开发设计的AI辅助工具sap-cap-capire的技术架构。该工具采用四层设计:协议层集成MCP和LSP实现实时模型访问与语法检查;智能层通过4个专业化Agent(数据建模、服务开发等)分工协作;验证层确保代码质量;知识层存储文档模板。这种工程化设计解决了通用AI在CAP开发中面临的上下文不足、专业性缺失和代码质量保证等核心问题,通过本地化服务和实时反馈机制显著提升了开发效率。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 883

雷军背后的大哥:“中国第一程序员”之外,还有“中关村教父”

雷军背后的大哥:“中国第一程序员”之外,还有“中关村教父”

2501_93190871的博客 744

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

专访365日历创始人葛楠:创业者技术选型的开放与保守

引言:从2008年开始,365日历开始上线运营,不知不觉到现在已经五年了。目前, 365日历在国内已经拥有超过6000万用户,从App Store上看,市场综合排名最高时是47名。\u0026#xD;近日,InfoQ编辑采访365日历创始人葛楠,请他谈谈365日历如何将自己打造一个符合中国人需求的日程管理服务。\u0026#xD;嘉宾简介:葛楠,80后,365日历创始人,北京理工大学计算机软件专业...

cpongo011702 872

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

calendar.js高级应用:自定义节日与节气数据,打造个性化日期工具

想要打造个性化的日期工具吗?calendar.js作为一款强大的中国农历与公历互转JavaScript库,提供了灵活的自定义节日和节气数据功能,让您可以根据特定需求创建专属的日期应用。本文将详细介绍如何利用calendar.js的高级功能,轻松实现节日和节气的自定义配置。 ## 🎯 为什么需要自定义节日数据? 在实际应用中,不同地区、不同行业甚至不同企业都有自己独特的节日需求。calenda

gitblog_00526的博客 363

蓝桥杯天干地支算法解析:从文化规则到编程实现的建模指南

在算法竞赛和编程实践中,日期处理与周期计算是常见的基础问题,其核心在于将现实世界的复杂规则抽象为可计算的数学模型。通过模运算和基准点映射,可以高效解决诸如农历转换、时间序列分析等场景下的周期性计算需求。本文以蓝桥杯国赛真题“天干地支”为例,深入剖析如何将传统文化中的干支纪年系统转化为严谨的算法实现,涵盖日期差计算、边界条件处理等关键技术难点,并提供了完整的模块化代码与调试技巧,帮助开发者掌握将非结构化规则转化为可靠程序的通用方法。

weixin_30416871的博客 366

判定2022年是否闰年c语言_细恐至微,为什么每个惊人bug都在闰年!

什么是闰年公历闰年判定遵循的规律为:四年一闰、百年不闰、400年再闰。中国旧历农历每月的天数依照月亏而定,一年的时间以12个月为基准,平年比一回归年少约11天。为了合上地球围绕太阳运行周期即回归年,每隔2到4年,增加一个月,增加的这个月为闰月。那么闰年应该怎么计算?闰年的计算方法:1、普通年能被4整除且不能被100整除的为闰年。(如2004年就是闰年)2、世纪年能被400整除的是闰年。(如2000...

weixin_29156679的博客 668

千万年斗转星移,小屏幕见大宇宙 - 《钦天明时》天文时钟与万年历应用程序(iOS App)介绍

I | 概述 欢迎使用《钦天明时》天文时钟与万年历 iOS 应用程序。 本 App 不仅仅是常规的时钟与日历工具,其采用现代精密天文历算算法编制,可对太阳、月亮及各大行星的运行作高精度计算和直观演示,甚至可准确推算日月食、行星合冲等天象,有效时间跨度长达16000年(公元前6000年~公元10000年),对天文观测摄影、历史考古研究、测绘、航海、科普教育等诸多应用均有相当高的参考利用价值。 ...

PeterMcXiang的博客 1万+

3个热门、好用、功能强大的C#开源帮助工具类

下面推荐3个热门、好用、功能强大的C#开源帮助工具类。Z.ExtensionMethods是由zzzprojects公司开发并维护的一款开源库,为.NET开发人员提供一系列实用的扩展方法,可以减少重复劳动、提高开发效率,支持.NET Framework 和 .NET Core。该项目不仅提供了丰富的功能,代码质量也是非常高的,用来学习编程规范也是不错的选择。

成长的足迹 1012

收藏一个农历算法

/** * ChineseCalendarGB.java Copyright (c) 1997-2002 by Dr. Herong Yang 中国农历算法 - * 实用于公历 1901 年至 2100 年之间的 200 年 */ public class CalendarUtil { private int gregorianYear; private int gregorianMon

jackyrongvip的专栏 1031
上一篇: Linux 牛书推荐:《Linux网络编程》
下一篇: 中国传统日历 在编程中如何实现 需要注意什么
普通网友
博客等级 码龄22年 1万+粉丝 3156原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值