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

杭州建设行业网站西部数码网站管理助手3.0

杭州建设行业网站,西部数码网站管理助手3.0,手机app开发技术,深圳住房网站appzhdate 是公历、农历换算的python工具包。 生活中有时候需要计算跟农历和天数有关的日期#xff0c;于是对zhdate进行了封装#xff0c;实现了如下功能#xff1a; 1 公历 - 公历 : 天数 2 公历 - 农历 : 天数 3 农历 - 公历 : 天数 4 农历 - 农历 …zhdate 是公历、农历换算的python工具包。 生活中有时候需要计算跟农历和天数有关的日期于是对zhdate进行了封装实现了如下功能 1 公历 - 公历 : 天数   2 公历 - 农历 : 天数   3 农历 - 公历 : 天数   4 农历 - 农历 : 天数 5 公历 天数 - 公历   6 公历 天数 - 农历   7 农历 天数 - 公历   8 农历 天数 - 农历 9 公历 - 农历  10 农历 - 公历 可以用。 代码如下复制保存到本地文件使用python环境运行就可以了。 # -*- coding: utf-8 -*-Created on Sun Apr 28 09:25:04 2024author: Farman import zhdate import datetime#------------------------------------------------------------------------------def zhdate_to_date(year, month, day, leap_month):try:zd zhdate.ZhDate(year, month, day, leap_month)zd zd.to_datetime()return True, zd.year, zd.month, zd.dayexcept:return False, None, None, None#x zhdate_to_date(1938, 10, 29, 0) #print(x)def date_to_zhdate(year, month, day):try:zd zhdate.ZhDate(2000, 1, 1, False)zd zd.from_datetime(datetime.datetime(year, month, day))return True, zd.lunar_year, zd.lunar_month, zd.lunar_day, zd.leap_monthexcept:return False, None, None, None, None#x date_to_zhdate(1979, 2, 10) #print(x)#------------------------------------------------------------------------------def calc_days_between_dates(year_from, month_from, day_from, year_to, month_to, day_to):try:d1 datetime.datetime(year_from, month_from, day_from)d2 datetime.datetime(year_to, month_to, day_to) return True, (d2-d1).daysexcept:return False, None#x calc_days_between_dates(1938, 10, 29, 2023, 12, 26) #print(x)def calc_days_between_zhdates(year_from, month_from, day_from, leap_from, year_to, month_to, day_to, leap_to):try:d1 zhdate.ZhDate(year_from, month_from, day_from, leap_from)d2 zhdate.ZhDate(year_to, month_to, day_to, leap_to)d1 d1.to_datetime()d2 d2.to_datetime()return True, (d2-d1).daysexcept:return False, None#x calc_days_between_zhdates(1938, 10, 29, False, 2023, 12, 26, False) #print(x)def calc_days_between_date_and_zhdate(year_from, month_from, day_from, year_to, month_to, day_to, leap_to):try:d1 datetime.datetime(year_from, month_from, day_from)d2 zhdate.ZhDate(year_to, month_to, day_to, leap_to).to_datetime()return True, (d2 - d1).daysexcept:return False, None#x calc_days_between_date_and_zhdate(1938, 12, 20, 2023, 12, 26, False) #print(x)def calc_days_between_zhdate_and_date(year_from, month_from, day_from, leap_from, year_to, month_to, day_to):try:d1 zhdate.ZhDate(year_from, month_from, day_from, leap_from).to_datetime()d2 datetime.datetime(year_to, month_to, day_to)return True, (d2 - d1).daysexcept:return False, None#x calc_days_between_zhdate_and_date(1938, 10, 29, False, 2024, 2, 5) #print(x)#------------------------------------------------------------------------------def date_offset_to_date(year, month, day, offset_days):try:d datetime.datetime(year, month, day) datetime.timedelta(offset_days)return True, d.year, d.month, d.dayexcept:return False, None, None, None#x date_offset_to_date(2024, 4, 30, 1) #print(x)def date_offset_to_zhdate(year, month, day, offset_days):try:d datetime.datetime(year, month, day) datetime.timedelta(offset_days)m zhdate.ZhDate(2000, 1, 1, False)m m.from_datetime(d)return True, m.lunar_year, m.lunar_month, m.lunar_day, m.leap_monthexcept:return False, None, None, None, None#x date_offset_to_zhdate(1938, 10, 29, 1) #print(x)def zhdate_offset_to_zhdate(year_from, month_from, day_from, leap_from, offset_days):try:d1 zhdate.ZhDate(year_from, month_from, day_from, leap_from)d2 d1.to_datetime()d2 d2 datetime.timedelta(offset_days)d1 d1.from_datetime(d2)return True, d1.lunar_year, d1.lunar_month, d1.lunar_day, d1.leap_monthexcept:return False, None, None, None, None#x zhdate_offset_to_zhdate(1938, 10, 29, False, 31093) #print(x)def zhdate_offset_to_date(year_from, month_from, day_from, leap_from, offset_days):try:d1 zhdate.ZhDate(year_from, month_from, day_from, leap_from)d2 d1.to_datetime()d2 d2 datetime.timedelta(offset_days) return True, d2.year, d2.month, d2.dayexcept:return False, None, None, None#x zhdate_offset_to_date(1938, 10, 29, False, 31093) #print(x)#------------------------------------------------------------------------------def fix_line(line):line line.strip()length 0while True:length len(line)line line.replace( , )if length len(line):breakreturn line#print(fix_line( 1 2 3 4))def line_to_num_array(line):line fix_line(line)cells line.split( )cells [int(c.lstrip(0) if len(c) 1 else c) for c in cells]return cells#print(line_to_num_array( 1 2 3 4))def date_ui():print()print( 要计算的内容)print()print( 1 公历 - 公历 : 天数)print( 2 公历 - 农历 : 天数)print( 3 农历 - 公历 : 天数)print( 4 农历 - 农历 : 天数)print()print( 5 公历 天数 - 公历)print( 6 公历 天数 - 农历)print( 7 农历 天数 - 公历)print( 8 农历 天数 - 农历)print()print( 9 公历 - 农历)print( 10 农历 - 公历)print()ans input(请输入要计算的内容 : )if ans 1:print(请依次输入起始年、月、日和结束年、月、日以空格分割不同的数据)ans input()cells line_to_num_array(ans)if len(cells) ! 6:print(输入参数应该是 6 个。)else:flag, days calc_days_between_dates(cells[0], cells[1], cells[2], cells[3], cells[4], cells[5])if not flag:print(计算失败请检查参数是否合理。)else:print(天数, days) elif ans 2:print(请依次输入起始公历年、月、日和结束农历年、月、日、闰月标记以空格分割不同的数据)print(是闰月则闰月标记写 1, 否则写 0.)ans input()cells line_to_num_array(ans)if len(cells) ! 7:print(输入参数应该是 7 个。)else:flag, days calc_days_between_date_and_zhdate(cells[0], cells[1], cells[2], cells[3], cells[4], cells[5], cells[6])if not flag:print(计算失败请检查参数是否合理。)else:print(天数, days) elif ans 3:print(请依次输入起始农历年、月、日、闰月标记和结束公历年、月、日以空格分割不同的数据)print(是闰月则闰月标记写 1, 否则写 0.)ans input()cells line_to_num_array(ans)if len(cells) ! 7:print(输入参数应该是 7 个。)else:flag, days calc_days_between_zhdate_and_date(cells[0], cells[1], cells[2], cells[3], cells[4], cells[5], cells[6])if not flag:print(计算失败请检查参数是否合理。)else:print(天数, days)elif ans 4:print(请依次输入起始农历年、月、日、闰月标记和结束农历年、月、日、闰月标记以空格分割不同的数据)print(是闰月则闰月标记写 1, 否则写 0.)ans input()cells line_to_num_array(ans)if len(cells) ! 8:print(输入参数应该是 8 个。)else:flag, days calc_days_between_zhdates(cells[0], cells[1], cells[2], cells[3], cells[4], cells[5], cells[6], cells[7])if not flag:print(计算失败请检查参数是否合理。)else:print(天数, days)elif ans 5:print(请依次输入起始年、月、日和天数以空格分割不同的数据)ans input()cells line_to_num_array(ans)if len(cells) ! 4:print(输入参数应该是 4 个。)else:flag, *date date_offset_to_date(cells[0], cells[1], cells[2], cells[3])if not flag:print(计算失败请检查参数是否合理。)else:print(公历%4d 年 %02d 月 %02d 日%(date[0], date[1], date[2]))elif ans 6:print(请依次输入起始年、月、日和天数以空格分割不同的数据)ans input()cells line_to_num_array(ans)if len(cells) ! 4:print(输入参数应该是 4 个。)else:flag, *date date_offset_to_zhdate(cells[0], cells[1], cells[2], cells[3])if not flag:print(计算失败请检查参数是否合理。)else:print(农历%4d 年 %s %02d 月 %02d 日%(date[0], 闰 if date[3] else , date[1], date[2]))elif ans 7:print(请依次输入起始农历年、月、日、闰月标记和天数以空格分割不同的数据)print(是闰月则闰月标记写 1, 否则写 0.)ans input()cells line_to_num_array(ans)if len(cells) ! 5:print(输入参数应该是 5 个。)else:flag, *date zhdate_offset_to_date(cells[0], cells[1], cells[2], cells[3], cells[4])if not flag:print(计算失败请检查参数是否合理。)else:print(公历%4d 年 %02d 月 %02d 日%(date[0], date[1], date[2]))elif ans 8:print(请依次输入起始农历年、月、日、闰月标记和天数以空格分割不同的数据)print(是闰月则闰月标记写 1, 否则写 0.)ans input()cells line_to_num_array(ans)if len(cells) ! 5:print(输入参数应该是 5 个。)else:flag, *date zhdate_offset_to_zhdate(cells[0], cells[1], cells[2], cells[3], cells[4])if not flag:print(计算失败请检查参数是否合理。)else:print(农历%4d 年 %s %02d 月 %02d 日%(date[0], 闰 if date[3] else , date[1], date[2]))elif ans 9:print(请依次输入公历年、月、日以空格分割不同的数据)ans input()cells line_to_num_array(ans)if len(cells) ! 3:print(输入参数应该是 3 个。)else:flag, *date date_to_zhdate(cells[0], cells[1], cells[2])if not flag:print(计算失败请检查参数是否合理。)else:print(农历%4d 年 %s %02d 月 %02d 日%(date[0], 闰 if date[3] else , date[1], date[2]))elif ans 10:print(请依次输入起始农历年、月、日、闰月标记以空格分割不同的数据)ans input()cells line_to_num_array(ans)if len(cells) ! 4:print(输入参数应该是 4 个。)else:flag, *date zhdate_to_date(cells[0], cells[1], cells[2], cells[3])if not flag:print(计算失败请检查参数是否合理。)else:print(公历%4d 年 %02d 月 %02d 日%(date[0], date[1], date[2]))else:print(未定义的输入 [%s]%ans)return#------------------------------------------------------------------------------def ui_loop():print()print(日期计算工具)print(Farman2024)while True:date_ui()ans input(继续(Y/n): )if ans n:breakreturn#------------------------------------------------------------------------------if __name__ __main__:ui_loop()
http://www.zqtcl.cn/news/143301/

相关文章:

  • 大网站的二级域名哪些平台可以发布产品
  • 旅游网站开发说明书怎么做好销售
  • 网站app生成器天河网站建设服务
  • 南京移动网站建设哪里强新网站建设都需要哪些
  • .net网站制作wordpress配置多语言包
  • 上海源码网站建设公司做短视频的网站都有哪些
  • 网络推广公司联系昔年下拉网络优化seo
  • 网站开发语言识别网站众筹该怎么做
  • 长春做网站公司长春seo公司云主机和云服务器的区别
  • 打开网站乱码怎么做网件路由器登陆网址
  • wordpress 怎么删除主题seo神马网站推广器
  • 番禺网站推广公司宣传片拍摄方案范本
  • 网站建设的公司收费建筑英才网app
  • 作风建设活动网站知名景观设计公司的官网
  • 网站的模块做网站的图片要多少像素
  • 网站建设需要什么书企信网企业信用信息系统贵州
  • 做网站是什么鬼新浪虚拟主机做网站
  • 青岛网站设计如何做注册网店需要多少费用
  • 空白网站怎么建立网站默认主页设置
  • wordpress外网访问不seo综合查询是什么
  • 曲阜网站建设价格做5173这样的网站要多少人
  • 深圳网站建设服务合同wordpress 增删改查
  • 网站建设好处wordpress评论积分
  • 珠海网站策划网站不能自行备案吗
  • 在vs中做网站如何连接数据库wordpress模板如何安装教程
  • 10g空间网站做视频网站手机网站搜索
  • 服务器上面建设网站网站为什么显示正在建设中
  • 德阳网站优化网络顾问
  • 大淘客可以做几个网站hm网上商城
  • 网站建设分配人员方案呼市网站制作招聘