当前位置: 首页 > news >正文

云南网站搭建建筑工程电影网

云南网站搭建,建筑工程电影网,太原网站优化多少钱,什么叫网站集约化建设农历节日倒计时#xff1a;基于Python的公历与农历日期转换及节日查询小程序升级版 调整的功能 上一个小程序只是能计算当年的农历节日的间隔时间#xff0c;那么这次修改一下#xff0c;任意年份的农历节日都可以#xff0c;并且能输出农历节日对应的阳历日期#xff0…农历节日倒计时基于Python的公历与农历日期转换及节日查询小程序升级版 调整的功能 上一个小程序只是能计算当年的农历节日的间隔时间那么这次修改一下任意年份的农历节日都可以并且能输出农历节日对应的阳历日期而且可以循环输入直到输入q退出。 1. 引言 农历是中国传统历法许多重要的节日如春节、端午节、中秋节等都基于农历日期。然而由于农历与公历之间的差异尤其是闰月的存在直接通过公历日期来计算这些节日的具体时间并不容易。为了帮助用户更方便地了解即将到来的农历节日开发了这款基于Python的农历节日倒计时程序。 2. 功能概述 该程序的主要功能包括 农历节日查询用户可以通过输入农历节日名称如“春节”、“端午节”等查询该节日对应的公历日期。倒计时计算程序会根据当前日期计算距离下一个该节日还有多少天。闰月处理程序能够自动处理闰月的情况确保计算结果的准确性。跨年处理如果当前日期已经过了当年的节日程序会自动计算下一年度的节日日期。 3. 技术实现 3.1 核心库lunardate 程序依赖于lunardate库来进行公历与农历之间的日期转换。lunardate是一个轻量级的Python库支持农历和公历之间的相互转换并且能够正确处理闰月问题。通过该库我们可以轻松获取任意农历日期对应的公历日期反之亦然。 程序源码 import datetime from lunardate import LunarDate# 定义一些常用的农历节日及其对应的农历日期 lunar_holidays {春节: (1, 1), # 正月初一元宵节: (1, 15), # 正月十五清明节: (4, 4), # 清明时节端午节: (5, 5), # 五月初五中秋节: (8, 15), # 八月十五重阳节: (9, 9) # 九月初九 }def get_lunar_date(year, month, day): 获取给定公历日期对应的农历日期 lunar LunarDate.fromSolarDate(year, month, day)return lunar.month, lunar.daydef days_until_festival(festival_name, target_yearNone):if festival_name not in lunar_holidays and festival_name ! 除夕:print(未识别的节日请检查输入)return None, None, Nonetoday datetime.date.today()if target_year is None:target_year today.yearif festival_name 除夕:# 计算春节日期然后减去一天得到除夕日期lunar_month, lunar_day lunar_holidays[春节]try:lunar_chunjie_date LunarDate(target_year, lunar_month, lunar_day).toSolarDate()lunar_date lunar_chunjie_date - datetime.timedelta(days1)except ValueError:# 如果转换失败可能是由于闰月的原因尝试下一年lunar_chunjie_date LunarDate(target_year 1, lunar_month, lunar_day).toSolarDate()lunar_date lunar_chunjie_date - datetime.timedelta(days1)else:lunar_month, lunar_day lunar_holidays[festival_name]try:lunar_date LunarDate(target_year, lunar_month, lunar_day).toSolarDate()except ValueError:# 如果转换失败可能是由于闰月的原因尝试下一年lunar_date LunarDate(target_year 1, lunar_month, lunar_day).toSolarDate()# 如果今天的日期已经过了该节日则计算下一个年度的节日if today lunar_date:print(f今年的{festival_name}已经过去了计算明年的时间间隔。)if festival_name 除夕:lunar_chunjie_date LunarDate(target_year 1, lunar_month, lunar_day).toSolarDate()lunar_date lunar_chunjie_date - datetime.timedelta(days1)else:lunar_date LunarDate(target_year 1, lunar_month, lunar_day).toSolarDate()festival_year target_year 1else:festival_year target_yeardelta lunar_date - todayreturn festival_year, delta.days, lunar_datedef main():while True:festival input(请输入你想查询的农历节日输入 q 退出).strip()if festival.lower() q:print(退出程序。)breakyear_input input(请输入你想要查询的年份留空则为当前年份).strip()if year_input :target_year Noneelse:try:target_year int(year_input)except ValueError:print(输入的年份无效请输入一个有效的整数年份。)continuefestival_year, days_left, festival_date days_until_festival(festival, target_year)if festival_year is not None and days_left is not None and festival_date is not None:print(f{festival_year}年的{festival}对应的阳历日期是{festival_date.strftime(%Y-%m-%d)})print(f距离{festival_year}年的{festival}还有 {days_left} 天。\n)else:print(\n)if __name__ __main__:main()4. 特殊情况处理 4.1 闰月处理 农历中存在闰月的概念即某些年份会在某个月份之后再插入一个相同的月份。这使得农历与公历之间的转换变得更加复杂。lunardate库内置了对闰月的支持因此在进行日期转换时程序能够自动处理闰月的情况确保计算结果的准确性。 4.2 跨年处理 如果当前日期已经过了当年的节日程序会自动将计算范围扩展到下一年度。例如如果今天是2024年12月而用户查询的是“春节”程序会自动计算2025年的春节日期。 5. 使用示例输出结果 请输入你想查询的农历节日输入 q 退出除夕 请输入你想要查询的年份留空则为当前年份2025 2025年的除夕对应的阳历日期是2025-01-28 距离2025年的除夕还有 33 天。请输入你想查询的农历节日输入 q 退出春节 请输入你想要查询的年份留空则为当前年份2025 2025年的春节对应的阳历日期是2025-01-29 距离2025年的春节还有 34 天。请输入你想查询的农历节日输入 q 退出元宵节 请输入你想要查询的年份留空则为当前年份2025 2025年的元宵节对应的阳历日期是2025-02-12 距离2025年的元宵节还有 48 天。请输入你想查询的农历节日输入 q 退出q 退出程序。主要修改点 days_until_festival 函数 增加了 target_year 参数允许用户指定要查询的年份。如果 target_year 为空则默认使用当前年份。如果今天的日期已经过了该节日则提示并计算下一年度的时间间隔。返回值增加了 lunar_date即农历节日对应的阳历日期。不需要直接添加“除夕”因为它是春节的前一天可以通过春节日期计算得出。 main 函数 提示用户输入想要查询的年份并处理可能的输入错误。如果用户不输入年份则默认使用当前年份。保持不变只是调用 days_until_festival 函数来处理用户输入在输出中增加了农历节日对应的阳历日期使用 strftime 方法格式化日期为 YYYY-MM-DD 格式。使用 while True 循环来持续接受用户输入。在每次循环中提示用户输入节日名称并在用户输入 q 或 Q 时退出循环并结束程序。每次查询后输出换行符 \n 以提高可读性。 这样用户可以输入特定的年份来查询该年份的节日距离当前时间的间隔。如果用户不输入年份则默认使用当前年份进行计算。 参考资料 lunardate官方文档Python datetime模块官方文档 欢迎点赞、关注、收藏、转发
http://www.hkea.cn/news/14409153/

相关文章:

  • 做多个网站 买vps刚刚封城最新消息2021
  • wordpress网站推翻重建网络营销是什么加什么
  • 安全网站建设与服务的关系定西网页设计
  • 自己建一个网站需要多少钱小游戏网站审核怎么做
  • 做网站的资料手机网站禁止缩放
  • 网站建设合同性质做搜狗手机网站优化点
  • 哪家公司做网站正规网站定制建设
  • 做一个平台网站大概多少钱个人营业执照怎么申请
  • 山东省品牌专业群建设网站网站开发后端是什么
  • 浅析社区网站的建设wordpress挂黑页
  • 长春几个火车站啊江门网站优化排名
  • 太原的网站建设公司哪家好企业网站 phpcms
  • 加盟网网站建设php网站只能打开首页
  • 南宁个人做网站的做网站的公司怎么推广
  • 87网站建设工作室莱钢吧贴吧
  • saas建站工具wordpress修改固定链接404
  • 泰州专门做网站北京市建设网
  • 百度蜘蛛网站新闻20字摘抄大全
  • 网站的功能包括哪些深圳在线教育
  • 电商思维做招聘网站沧州黄骅港赶海的地方
  • 做外国网站怎么买空间成都网站建设空间
  • 宜城做网站在wordpress里_怎么把文章放到指定的导航栏目里
  • 在线免费网站模板最专业的企业营销型网站建设价格
  • 怎么优化整站门户网站建设和推广
  • 济南网站河南网站建设价格与方案
  • 2018年静安区品牌网站建设公司简介模板免费下载电子版
  • 苏州电商网站建设企业融资渠道有哪些
  • 帮人做网站收费合法吗商城app制作
  • 网站建设怎么解析域名一级域名如何分发二级域名
  • 网站建设情况怎么写范文网页的网站建设在哪里