def zhongqiu(self): lunar = ZhDate(self.year, 8, 15) # 新建农历 2010年正月初一 的日期对象 solar = lunar.to_datetime() # solar = pd.date_range(str(solar).split(' ')[0], periods=1) str_solar = str(solar).split(' ')[0] year, month, day = str_solar.split('-')[0], str_solar.split( '-')[1], str_solar.split('-')[-1] return self.some_holiday(year, month, day)
def chunjie(self): lunar = ZhDate(self.year, 1, 1) solar = lunar.to_datetime() #solar = pd.date_range(str(solar).split(' ')[0], periods=1) str_solar = str(solar).split(' ')[0] year, month, day = str_solar.split('-')[0], str_solar.split( '-')[1], str_solar.split('-')[-1] chuxi_solar = datetime(int(year), int(month), int(day)) + timedelta(days=-1) # chuxi_time, make_chuxi_time = self.Spring_Festival(chuxi_solar) return self.Spring_Festival(chuxi_solar)
def lunar_to_solar(cls, year: int, month: int, day: int): """ convert lunar date to solar date :param year: :param month: :param day: :return: solar date """ lunar = ZhDate(year, month, day) solar_datetime = lunar.to_datetime() return solar_datetime.year, solar_datetime.month, solar_datetime.day
from zhdate import ZhDate from datetime import datetime, timedelta if __name__ == '__main__': date1 = ZhDate(2010, 1, 1) # 新建农历 2010年正月初一 的日期对象 # print(date1) # 直接返回农历日期字符串 dt_date1 = date1.to_datetime() # 农历转换成阳历日期 datetime 类型 dt_date2 = datetime(2010, 2, 6) date2 = ZhDate.from_datetime(dt_date2) # 从阳历日期转换成农历日期对象 date3 = ZhDate(2020, 4, 29, leap_month=True) # 新建农历 2020年闰4月30日 # print(date3.to_datetime()) # 支持比较 if ZhDate(2019, 1, 1) == ZhDate.from_datetime(datetime(2019, 2, 5)): pass # 减法支持 new_zhdate = ZhDate(2019, 1, 1) - 30 #减整数,得到差额天数的新农历对象 new_zhdate2 = ZhDate(2019, 1, 1) - ZhDate(2018, 1, 1) #两个zhdate对象相减得到两个农历日期的差额 new_zhdate3 = ZhDate(2019, 1, 1) - datetime(2019, 1, 1) # 减去阳历日期,得到农历日期和阳历日期之间的天数差额 # 加法支持 new_zhdate4 = ZhDate(2019, 1, 1) + 30 # 加整数返回相隔天数以后的新农历对象 print(ZhDate(1900, 9, 1, False).chinese()) print(ZhDate.today().chinese())
# -*- coding: utf-8 -*- """ Created on Wed Dec 4 21:56:43 2019 @author: Administrator """ # pip install ZhDate from zhdate import ZhDate from datetime import datetime import pandas as pd date1 = ZhDate(2010, 1, 1) # 新建农历 2010年正月初一 的日期对象 print(date1) # 直接返回农历日期字符串 dt_date1 = date1.to_datetime() # 农历转换成阳历日期 datetime 类型 dt_date2 = datetime(2010, 2, 6) date2 = ZhDate.from_datetime(dt_date2) # 从阳历日期转换成农历日期对象 date3 = ZhDate(2020, 4, 30, leap_month=True) # 新建农历 2020年闰4月30日 print(date3.to_datetime()) # 支持比较 if ZhDate(2019, 1, 1) == ZhDate.from_datetime(datetime(2019, 2, 5)): pass # 减法支持 new_zhdate = ZhDate(2019, 1, 1) - 30 #减整数,得到差额天数的新农历对象 new_zhdate2 = ZhDate(2019, 1, 1) - ZhDate(2018, 1, 1) #两个zhdate对象相减得到两个农历日期的差额 new_zhdate3 = ZhDate(2019, 1, 1) - datetime(2019, 1, 1) # 减去阳历日期,得到农历日期和阳历日期之间的天数差额