예제 #1
0
파일: luohou.py 프로젝트: Zeal-Zhu/bazi
def get_hou(d):
    lunar = sxtwl.Lunar()
    cal_day = lunar.getDayBySolar(d.year, d.month, d.day)

    # 计算甲干相合
    gans = Gans(year=Gan[cal_day.Lyear2.tg],
                month=Gan[cal_day.Lmonth2.tg],
                day=Gan[cal_day.Lday2.tg])
    zhis = Zhis(year=Zhi[cal_day.Lyear2.dz],
                month=Zhi[cal_day.Lmonth2.dz],
                day=Zhi[cal_day.Lday2.dz])

    print("公历:", end='')
    print("{}年{}月{}日".format(cal_day.y, cal_day.m, cal_day.d), end='')

    Lleap = "闰" if cal_day.Lleap else ""
    print("\t农历:", end='')
    print("{}年{}{}月{}日  ".format(cal_day.Lyear0 + 1984, Lleap,
                                 ymc[cal_day.Lmc], rmc[cal_day.Ldi]),
          end='')
    print(' \t', end='')
    print('-'.join([''.join(item) for item in zip(gans, zhis)]), end='')

    print("\t杀师时:", end='')
    for item in shi_hous[zhis[2]]:
        print(item + zhi_time[item], end='')

    day_ganzhi = gans[2] + zhis[2]

    if day_ganzhi == year_hous[zhis[0]]:
        print(" \t年猴:{}年{}日".format(zhis[0], day_ganzhi), end=' ')

    if zhis[2] == yue_hous[ymc[cal_day.Lmc]]:
        print(" \t月罗:{}日".format(zhis[2]), end=' ')

    if day_ganzhi in tuple(ji_hous.values()):
        birthday = d
        for i in range(30):
            day_ = sxtwl.Lunar().getDayBySolar(birthday.year, birthday.month,
                                               birthday.day)
            if day_.qk != -1:
                ji = jis[(day_.qk + 3) // 6]
                break
            birthday += datetime.timedelta(days=-1)

        if day_ganzhi == ji_hous[ji]:
            print(" \t季猴:{}季{}日".format(ji, ji_hous[ji]), end=' ')
    print()
예제 #2
0
def getYMD():  #获得对应的农历
    ymc = [
        u"十一", u"十二", u"正", u"二", u"三", u"四", u"五", u"六", u"七", u"八", u"九",
        u"十"
    ]
    rmc = [
        u"初一", u"初二", u"初三", u"初四", u"初五", u"初六", u"初七", u"初八", u"初九", u"初十",
        u"十一", u"十二", u"十三", u"十四", u"十五", u"十六", u"十七", u"十八", u"十九", u"二十",
        u"廿一", u"廿二", u"廿三", u"廿四", u"廿五", u"廿六", u"廿七", u"廿八", u"廿九", u"三十",
        u"卅一"
    ]
    Gan = ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"]
    Zhi = ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"]
    ShX = ["鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪"]
    numCn = ["天", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"]
    lunar = sxtwl.Lunar()
    year = datetime.datetime.now().year
    month = datetime.datetime.now().month
    rday = datetime.datetime.now().day
    day = lunar.getDayBySolar(year, month, rday)
    d = str(day.y) + "年" + str(day.m) + "月" + str(day.d) + "日"
    if day.Lleap:
        a = "润" + ymc[day.Lmc] + "月" + rmc[day.Ldi] + "日"
    else:
        a = ymc[day.Lmc] + "月" + rmc[day.Ldi] + "日"
    b = "星期" + numCn[day.week]
    c = Gan[day.Lyear2.tg] + Zhi[day.Lyear2.dz] + "年" + Gan[
        day.Lmonth2.tg] + Zhi[day.Lmonth2.dz] + "月" + Gan[day.Lday2.tg] + Zhi[
            day.Lday2.dz] + "日"
    txt = '今天日期:' + d + ', ' + b + '\n' + '中华农历: ' + a + ', ' + c
    return txt
예제 #3
0
def calendar():

    ymc = ["冬", "腊", "正", "二", "三", "四", "五", "六", "七", "八", "九", "十"]
    rmc = [
        "初一", "初二", "初三", "初四", "初五", "初六", "初七", "初八", "初九", "初十", "十一", "十二",
        "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", "廿一", "廿二", "廿三", "廿四",
        "廿五", "廿六", "廿七", "廿八", "廿九", "三十", "卅一"
    ]
    zmc = ["一", "二", "三", "四", "五", "六", "天"]
    nowdate = datetime.now()
    kaoyandate = datetime(2021, 12, 21)
    djs = (kaoyandate - nowdate).days - 1
    y = nowdate.year
    m = nowdate.month
    d = nowdate.day
    zc = int(nowdate.strftime("%W")) - 1

    z = zmc[nowdate.weekday()]

    lunar = sxtwl.Lunar()
    lunarday = lunar.getDayBySolar(y, m, d)

    lunardaychinese = f"{ymc[lunarday.Lmc]}月{rmc[lunarday.Ldi]}"
    if lunarday.Lleap:
        lunardaychinese = "闰" + lunardaychinese

    cal = f"{m}月{d}日,{lunardaychinese},寒假第{zc}周,星期{z}\n\n距离 2022 考研还有 {djs} 天"
    return cal
예제 #4
0
파일: demo.py 프로젝트: yuanhai11/spider
def translate_yangli(year, mon, day):
    import sxtwl
    # 日历库实例化
    lunar = sxtwl.Lunar()
    # 1.阴历转阳历
    solar_day = lunar.getDayByLunar(int(year), int(mon), int(day))
    return '-'.join([str(solar_day.y), str(solar_day.m), str(solar_day.d)])
예제 #5
0
def update_SpringFestival(data,data_holiday_history,model_file,data_scaler_file):
    data['SDATE'] = pd.to_datetime(data['SDATE'])
    lunar = sxtwl.Lunar()
    start_day = lunar.getDayByLunar(data['SDATE'][0].year-1, 12, 20  , False)
    end_day = lunar.getDayByLunar(data['SDATE'][0].year, 1, 15  , False)
    start_time = str(start_day.y)+'/'+str(start_day.m)+'/'+str(start_day.d)
    end_time = str(end_day.y)+'/'+str(end_day.m)+'/'+str(end_day.d)
    date = pd.date_range(start_time,end_time)
    spring_result = []
    result = []
    try:
        if IsSpringFestival(data,date) == 1:
            print u"请输入本次数据中春节假期开始时间:(输入日期要求:年/月/日 如:2018/2/1):"
            start_input = raw_input()
            while is_valid_date(start_input) == 0:
                start_input = raw_input()
            print u"请输入本次数据中春节假期结束时间:(输入日期要求:年/月/日 如:2018/2/1):"
            end_input = raw_input()
            while is_valid_date(end_input) == 0:
                end_input = raw_input()
            date_input = pd.date_range(start_input,end_input)
            for temp in data['SDATE']:
                if temp in date_input:
                    spring_result.append(1)
                else:
                    spring_result.append(0)
            data['IsSpringFestival']=spring_result
            result = model_predict(model_file,data,0,data_scaler_file)
            update_file(date_input,data_holiday_history)
        return result
    except:
        print u"纠错失败"
        sys.exit()
예제 #6
0
def set_SpringFestival(data):
    data['SDATE'] = pd.to_datetime(data['SDATE'])
    lunar = sxtwl.Lunar()
    start_day = lunar.getDayByLunar(
        data['SDATE'][0].year - 1,
        configuration_files.springfestival_start_month,
        configuration_files.springfestival_start_date, False)
    end_day = lunar.getDayByLunar(data['SDATE'][0].year,
                                  configuration_files.springfestival_end_month,
                                  configuration_files.springfestival_end_date,
                                  False)
    start_time = str(start_day.y) + '/' + str(start_day.m) + '/' + str(
        start_day.d)
    end_time = str(end_day.y) + '/' + str(end_day.m) + '/' + str(end_day.d)
    date = pd.date_range(start_time, end_time)
    result = []
    if IsSpringFestival(data, date) == 1:
        for temp in data['SDATE']:
            if temp in date:
                result.append(1)
            else:
                result.append(0)
                print u"本次数据中春节放假开始日期:", start_time
                print u"本次数据中春节放假结束日期:", end_time
        return result
    else:
        return [0] * len(data['SDATE'])
예제 #7
0
    def getbazi(self, datetime, is_Lunar=False):
        date = time.strptime(datetime, '%Y-%m-%d %H:%M:%S')
        unix_time = time.mktime(date)
        data = time.localtime(unix_time)
        note = "阳历" + datetime + " 的八字为 "
        if is_Lunar:
            note = "农历" + time.strftime('%Y', data) + "年" + self.ymc[
                (int(time.strftime('%m', data)) + 1) %
                12] + "月" + self.rmc[int(time.strftime('%d', data)) -
                                     1] + " " + time.strftime(
                                         '%H', data) + '点' + time.strftime(
                                             '%M', data) + '分' + time.strftime(
                                                 '%S', data) + '秒 的八字為 '
            ## 农历转阳历
            lunar = sxtwl.Lunar()  #实例化日历库
            day = lunar.getDayByLunar(int(time.strftime('%Y', data)),
                                      int(time.strftime('%m', data)),
                                      int(time.strftime('%d', data)))
            datetime = str(day.y) + '-' + str(day.m) + '-' + str(
                day.d) + ' ' + time.strftime('%H', data) + ':' + time.strftime(
                    '%M', data) + ':' + time.strftime('%S', data)
            date = time.strptime(datetime, '%Y-%m-%d %H:%M:%S')
            unix_time = time.mktime(date)
            data = time.localtime(unix_time)

        self.year = int(time.strftime('%Y', data))

        ## 要加上24节气的判断,来确定所属月份
        jieqi = self.read_json_file(str(self.year))
        jieqi = json.loads(jieqi)
        newmonths = jieqi[::2]
        j = 1
        for i in newmonths:
            jqtime = int(
                time.mktime(time.strptime(i['time'], '%Y-%m-%d %H:%M:%S')))
            if j < 12:
                if int(unix_time) >= jqtime:
                    newmonth = j
            else:
                if int(unix_time) < jqtime:
                    newmonth = j
            j += 1

        self.month = int(time.strftime('%m', data))
        self.day = int(time.strftime('%d', data))
        self.hour = int(time.strftime('%H', data))
        self.century = self.year // 100 + 1
        self.is_run = self.comrun(self.year)

        y = self.getyear(self.year)
        m = self.getmonth(newmonth)
        d = self.getday(self.day)
        h = self.gethour(self.hour)

        return note + y + m + d + h
예제 #8
0
    def save2csv(self):
        lunar = sxtwl.Lunar()  # 实例化日历库
        fileName = 'day_holiday_info' + '.csv'
        print('保存到csv文件(%s)中...' % (fileName, ))
        with open(os.path.join(sys.path[0], fileName),
                  'w',
                  encoding='utf-8-sig',
                  newline='') as csvfile:
            fieldnames = [
                'day', 'lunar_day_name', 'lunar_day', 'week_day',
                'week_day_name', 'day_type', 'day_type_id'
            ]
            writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
            writer.writeheader()
            start_date = self._start_date
            while (self._end_date - start_date).days > 0:
                day_str = self.date2str(start_date)
                start_date_num = int(day_str)
                day = lunar.getDayBySolar(int(day_str[0:4]), int(day_str[4:6]),
                                          int(day_str[6:]))

                if start_date_num in self._holiday_not_work:
                    day_type = '节假日'
                    day_type_id = '1'
                elif start_date_num in self._holiday_work:
                    day_type = '工作日(节日)'
                    day_type_id = '4'
                elif start_date.weekday(
                ) >= 5 and start_date_num not in self._weekend_work:
                    day_type = '双休日'
                    day_type_id = '3'
                else:
                    day_type = '工作日'
                    day_type_id = '2'

                writer.writerow({
                    'day':
                    start_date_num,
                    'lunar_day_name':
                    self._ymc[day.Lmc] + u"月" + self._rmc[day.Ldi] +
                    ("" if '初' in self._rmc[day.Ldi] else u"日"),
                    'lunar_day':
                    self._ymc_num[day.Lmc] + self._rmc_num[day.Ldi],
                    'week_day':
                    start_date.weekday() + 1,
                    'week_day_name':
                    self.get_week_day(start_date),
                    'day_type':
                    day_type,
                    'day_type_id':
                    day_type_id
                })
                start_date = start_date + datetime.timedelta(days=1)

        print('保存完毕...')
예제 #9
0
def parse_dates():
    lunar = sxtwl.Lunar()
    res = []
    for i in range(1, 13):
        month = lunar.yueLiCalc(2019, i)
        days = month.days
        for day in days:
            res.append(get_day(day))
    with open('dates.json', 'w') as f:
        f.write(json.dumps(res))
    print('parse dates successfully')
예제 #10
0
파일: remind.py 프로젝트: long0214/python
def check_birth(item):
    date = time.localtime()
    name, month, day, flag = item.strip('\n').split()
    if int(flag) == 1:
        if int(month) == date.tm_mon and int(day) == date.tm_mday:
            return True
    else:
        lunar = sxtwl.Lunar()
        day = lunar.getDayByLunar(date.tm_year, int(month), int(day))
        if day.m == date.tm_mon and day.d == date.tm_mday:
            return True
    return False
예제 #11
0
def get_lunar_calendar(time):
    """
    :return: 几月几日(农历,字符串)
    """
    lunar = sxtwl.Lunar()
    today = str(time)  # 如 2019-08-08
    today_list = today.split('-')  # ['2019', '08', '08']
    lunar_day = lunar.getDayBySolar((int)(today_list[0]), (int)(today_list[1]),
                                    (int)(today_list[2]))  # 输入年月日
    if lunar_day.Lleap:  # 判断是否为润年
        return (ymc[lunar_day.Lmc] + rmc[lunar_day.Ldi]).encode("utf-8")
    else:
        return (ymc[lunar_day.Lmc] + rmc[lunar_day.Ldi]).encode("utf-8")
예제 #12
0
def Calc_BaZi(calc_Y, calc_M, calc_D, calc_T):
    lunar = sxtwl.Lunar()
    day = lunar.getDayBySolar(calc_Y, calc_M, calc_D)
    # 年
    NL_year = Gan[day.Lyear2.tg] + Zhi[day.Lyear2.dz]
    # 月
    NL_mon = Gan[day.Lmonth2.tg] + Zhi[day.Lmonth2.dz]
    # 日
    NL_day = Gan[day.Lday2.tg] + Zhi[day.Lday2.dz]
    # 时辰
    gz = lunar.getShiGz(day.Lday2.tg, calc_T)
    NL_Time = Gan[gz.tg] + Zhi[gz.dz]
    return NL_year + NL_mon + NL_day + NL_Time
예제 #13
0
def solar_to_lunar(solar_date):
    # 日历库实例化
    lunar = sxtwl.Lunar()

    today = str(solar_date)  # 如 2019-08-08
    today_list = today.split('-')  # ['2019', '08', '08']
    lunar_day = lunar.getDayBySolar((int)(today_list[0]), (int)(today_list[1]),
                                    (int)(today_list[2]))  # 输入年月日
    # 判断是否为润年
    if (lunar_day.Lleap):
        # print("润{0}月{1}".format(ymc[lunar_day.Lmc], rmc[lunar_day.Ldi]))
        return "润{0}月{1}".format(ymc[lunar_day.Lmc], rmc[lunar_day.Ldi])
    else:
        # print("{0}月{1}".format(ymc[lunar_day.Lmc], rmc[lunar_day.Ldi]))
        return "{0}月{1}".format(ymc[lunar_day.Lmc], rmc[lunar_day.Ldi])
예제 #14
0
 def ShowMoon(self):
     lunar = sxtwl.Lunar()  # 实例化日历库
     ymc = [
         u"十一", u"十二", u"正", u"二", u"三", u"四", u"五", u"六", u"七", u"八", u"九",
         u"十"
     ]
     rmc = [
         u"初一", u"初二", u"初三", u"初四", u"初五", u"初六", u"初七", u"初八", u"初九",
         u"初十", u"十一", u"十二", u"十三", u"十四", u"十五", u"十六", u"十七", u"十八",
         u"十九", u"二十", u"廿一", u"廿二", u"廿三", u"廿四", u"廿五", u"廿六", u"廿七",
         u"廿八", u"廿九", u"三十", u"卅一"
     ]
     day = lunar.getDayBySolar(self.year, self.month, self.day)
     #       print(u"公历:", day.y, "年", day.m, "月", day.d, "日")
     if day.Lleap:
         print("农历:润", ymc[day.Lmc], "月", rmc[day.Ldi], "日")
     else:
         print("农历:", ymc[day.Lmc], "月", rmc[day.Ldi])
예제 #15
0
파일: demo.py 프로젝트: yuanhai11/spider
def translate_yinli(today):
    import sxtwl
    # 日历中文索引
    ymc = [
        u"11", u"12", u"01", u"02", u"03", u"04", u"05", u"06", u"07", u"08",
        u"09", u"10"
    ]
    rmc = [u"01", u"02", u"03", u"04", u"05", u"06", u"07", u"08", u"09", u"10", \
           u"11", u"12", u"13", u"14", u"15", u"16", u"17", u"18", u"19", \
           u"20", u"21", u"22", u"23", u"24", u"25", u"26", u"27", u"28", u"29", u"30"] # 阴历没有31天

    # 日历库实例化
    lunar = sxtwl.Lunar()

    # 2.阳历转阴历
    today_list = today.split('-')  # ['2019', '08', '08']
    lunar_day = lunar.getDayBySolar((int)(today_list[0]), (int)(today_list[1]),
                                    (int)(today_list[2]))  # 输入年月日
    return ymc[lunar_day.Lmc], rmc[lunar_day.Ldi]
예제 #16
0
def get_day(day):
    Gan = ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"]
    Zhi = ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"]
    ShX = ["鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪"]
    numCn = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"]
    Week = ["日", "一", "二", "三", "四", "五", "六"]
    jqmc = ["冬至", "小寒", "大寒", "立春", "雨水", "惊蛰", "春分", "清明", "谷雨", "立夏", "小满", "芒种", "夏至", "小暑", "大暑", "立秋", "处暑","白露", "秋分", "寒露", "霜降", "立冬", "小雪", "大雪"]
    ymc = ["十一", "十二", "正", "二", "三", "四", "五", "六", "七", "八", "九", "十" ]
    rmc = ["初一", "初二", "初三", "初四", "初五", "初六", "初七", "初八", "初九", "初十", "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", "廿一", "廿二", "廿三", "廿四", "廿五", "廿六", "廿七", "廿八", "廿九", "三十", "卅一"]
    info = {}
    info['month'] = day.m
    info['day'] = day.d
    info['week'] = Week[day.week]
    year = sxtwl.Lunar().getYearCal(day.Lyear0 + 1984)
    info['n_year'] = Gan[year.yearGan] + Zhi[year.yearZhi]
    info['n_month'] = ymc[day.Lmc]
    info['n_day'] = rmc[day.Ldi]
    if (day.qk >= 0):
        info['jq'] = jqmc[day.jqmc]
    else:
        info['jq'] = ''
    return info
예제 #17
0
    def run(self):
        lunar = sxtwl.Lunar()  # 实例化日历库
        ymc = ["十一", "十二", "正", "二", "三", "四", "五", "六", "七", "八", "九", "十"]
        rmc = [
            "初一", "初二", "初三", "初四", "初五", "初六", "初七", "初八", "初九", "初十", "十一",
            "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", "廿一", "廿二",
            "廿三", "廿四", "廿五", "廿六", "廿七", "廿八", "廿九", "三十", "卅一"
        ]
        year = int(time.strftime("%Y"))
        month = int(time.strftime("%m"))
        day = int(time.strftime("%d"))
        days = lunar.getDayBySolar(year, month, day)
        print("公历:", days.y, "年", days.m, "月", days.d, "日")

        if days.Lleap:
            nongli_info = "农历:  润" + ymc[days.Lmc] + "月" + rmc[days.Ldi]
        else:
            nongli_info = "农历:  " + ymc[days.Lmc] + "月" + rmc[days.Ldi]
        self.nonglisignal.emit(nongli_info)

        while True:
            self.timesignal.emit(str(time.strftime("%Y-%m-%d %H:%M:%S")))
            time.sleep(1)
예제 #18
0
def calculation(Y,M,D,H):
    # Y = int(input('输入阳历年:'))
    # M = int(input('输入月份:'))
    # D = int(input('输入日期:'))
    # H = int(input('输入时间:'))
    lunar = sxtwl.Lunar()  #实例化日历库
    day = lunar.getDayBySolar(int(Y),int(M), int(D))  # 查询年月日
    gz = lunar.getShiGz(day.Lday2.tg,  int(H))
    Branch = [Gan[day.Lyear2.tg],Zhi[day.Lyear2.dz],Gan[day.Lmonth2.tg],Zhi[day.Lmonth2.dz],Gan[day.Lday2.tg], Zhi[day.Lday2.dz],Gan[gz.tg], Zhi[gz.dz]]
    elements=element(Branch)
    elements =Elements.elements(elements)
    # print("公历:", day.y, "年", day.m, "月", day.d, "日")
    if day.Lleap:
        Lunar_c = "润"+ymc[day.Lmc]+"月 "+rmc[day.Ldi]+"日"
    else:
        Lunar_c = ymc[day.Lmc]+"月 "+rmc[day.Ldi]+"日"
    # print("儒略日:JD", sxtwl.J2000 + day.d0)
    # print("星期", numCn[day.week])
    # print(Gan[day.Lyear2.tg], Zhi[day.Lyear2.dz], "年", Gan[day.Lmonth2.tg],Zhi[day.Lmonth2.dz], "月", \
    #       Gan[day.Lday2.tg], Zhi[day.Lday2.dz], "日", Gan[gz.tg], Zhi[gz.dz], "时")
    # print(Branch)
    # print(elements)
    return Lunar_c,Branch,elements
예제 #19
0
Gans = collections.namedtuple("Gans", "year month day time")
Zhis = collections.namedtuple("Zhis", "year month day time")

if options.b:
    gans = Gans(year=options.year[0],
                month=options.month[0],
                day=options.day[0],
                time=options.time[0])
    zhis = Gans(year=options.year[1],
                month=options.month[1],
                day=options.day[1],
                time=options.time[1])
else:

    lunar = sxtwl.Lunar()
    if options.g:
        day = lunar.getDayBySolar(int(options.year), int(options.month),
                                  int(options.day))
    else:
        day = lunar.getDayByLunar(int(options.year), int(options.month),
                                  int(options.day), options.r)

    gz = lunar.getShiGz(day.Lday2.tg, int(options.time))

    # 计算甲干相合
    gans = Gans(year=Gan[day.Lyear2.tg],
                month=Gan[day.Lmonth2.tg],
                day=Gan[day.Lday2.tg],
                time=Gan[gz.tg])
    zhis = Zhis(year=Zhi[day.Lyear2.dz],
예제 #20
0
def generate_base_holidays(year):
    year_str = str(year)
    lunar = sxtwl.Lunar()
    chinese_new_year = lunar.getDayByLunar(year, 1, 1, False)
    dragon_boat_festival = lunar.getDayByLunar(year, 5, 5, False)
    mid_autumn_festival = lunar.getDayByLunar(year, 8, 15, False)
    old_age = lunar.getDayByLunar(year, 9, 9, False)
    lantern_festival = lunar.getDayByLunar(year, 1, 15, False)
    dragon_head_up = lunar.getDayByLunar(year, 2, 2, False)
    qixi_festival = lunar.getDayByLunar(year, 7, 7, False)
    ghost_festival = lunar.getDayByLunar(year, 7, 15, False)
    double_ninth_festival = lunar.getDayByLunar(year, 9, 9, False)
    winter_clothes_festival = lunar.getDayByLunar(year, 10, 1, False)
    next_metaverse_festival = lunar.getDayByLunar(year, 10, 15, False)
    laba_festival = lunar.getDayByLunar(year, 12, 8, False)
    # 加减推算
    chinese_new_year_date = datetime(year, chinese_new_year.m,
                                     chinese_new_year.d)
    little_night_festival = chinese_new_year_date - timedelta(days=2)
    new_year_eve = chinese_new_year_date - timedelta(days=1)
    holidays = [
        # 法定节日
        {
            "name": "元旦",
            "date": year_str + "-" + "1-1",
            "isRest": 1,
            "remark": "法定节日"
        },
        {
            "name":
            "春节",
            "date":
            year_str + "-" + str(chinese_new_year.m) + "-" +
            str(chinese_new_year.d),
            "isRest":
            1,
            "remark":
            "法定节日"
        },
        {
            "name": "清明节",
            "date": year_str + "-" + "4-5",
            "isRest": 1,
            "remark": "法定节日"
        },
        {
            "name": "劳动节",
            "date": year_str + "-" + "5-1",
            "isRest": 1,
            "remark": "法定节日"
        },
        {
            "name":
            "端午节",
            "date":
            year_str + "-" + str(dragon_boat_festival.m) + "-" +
            str(dragon_boat_festival.d),
            "isRest":
            1,
            "remark":
            "法定节日"
        },
        {
            "name":
            "中秋节",
            "date":
            year_str + "-" + str(mid_autumn_festival.m) + "-" +
            str(mid_autumn_festival.d),
            "isRest":
            1,
            "remark":
            "法定节日"
        },
        {
            "name": "国庆节",
            "date": year_str + "-" + "10-1",
            "isRest": 1,
            "remark": "法定节日"
        },
        {
            "name": "中国人民警察节",
            "date": year_str + "-" + "1-10",
            "isRest": 1,
            "remark": "法定节日"
        },
        {
            "name": "妇女节",
            "date": year_str + "-" + "3-8",
            "isRest": 1,
            "remark": "法定节日"
        },
        {
            "name": "植树节",
            "date": year_str + "-" + "3-12",
            "isRest": 1,
            "remark": "法定节日"
        },
        {
            "name": "青年节",
            "date": year_str + "-" + "5-4",
            "isRest": 1,
            "remark": "法定节日"
        },
        {
            "name": "护士节",
            "date": year_str + "-" + "5-12",
            "isRest": 1,
            "remark": "法定节日"
        },
        {
            "name": "全国科技工作者日",
            "date": year_str + "-" + "5-30",
            "isRest": 1,
            "remark": "法定节日"
        },
        {
            "name": "儿童节",
            "date": year_str + "-" + "6-1",
            "isRest": 1,
            "remark": "法定节日"
        },
        {
            "name": "建军节",
            "date": year_str + "-" + "8-1",
            "isRest": 1,
            "remark": "法定节日"
        },
        {
            "name": "教师节",
            "date": year_str + "-" + "9-10",
            "isRest": 1,
            "remark": "法定节日"
        },
        {
            "name": "老年节",
            "date": year_str + "-" + str(old_age.m) + "-" + str(old_age.d),
            "isRest": 1,
            "remark": "法定节日"
        },
        {
            "name": "中国医师节",
            "date": year_str + "-" + "11-3",
            "isRest": 1,
            "remark": "法定节日"
        },
        {
            "name": "记者节",
            "date": year_str + "-" + "11-8",
            "isRest": 1,
            "remark": "法定节日"
        },
        # 纪念日
        {
            "name": "二七纪念日",
            "date": year_str + "-" + "2-7",
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "全民国家安全教育日",
            "date": year_str + "-" + "4-15",
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "中国航天日",
            "date": year_str + "-" + "4-24",
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "中国品牌日",
            "date": year_str + "-" + "5-10",
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "全国防灾减灾日",
            "date": year_str + "-" + "5-12",
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "中国旅游日",
            "date": year_str + "-" + "5-19",
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "全国助残日",
            "date": get_date_by_number(year, 5, 1, 3, "Sun"),
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "五卅纪念日",
            "date": year_str + "-" + "5-30",
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "文化和自然遗产日",
            "date": get_date_by_number(year, 6, 1, 2, "Sat"),
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "全国土地日",
            "date": year_str + "-" + "6-25",
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "抗日战争纪念日",
            "date": year_str + "-" + "7-7",
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "中国航海日",
            "date": year_str + "-" + "7-11",
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "全民健身日",
            "date": year_str + "-" + "8-8",
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "残疾预防日",
            "date": year_str + "-" + "8-25",
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "抗日战争胜利纪念日",
            "date": year_str + "-" + "9-3",
            "isRest": 1,
            "remark": "法定节日"
        },
        {
            "name": "九一八纪念日",
            "date": year_str + "-" + "9-18",
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "全民国防教育日",
            "date": get_date_by_number(year, 9, 1, 3, "Sat"),
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "烈士纪念日",
            "date": year_str + "-" + "9-30",
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "国家扶贫日",
            "date": year_str + "-" + "10-17",
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "全国交通安全日",
            "date": year_str + "-" + "12-2",
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "国家宪法日",
            "date": year_str + "-" + "12-4",
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "全国法制宣传日",
            "date": year_str + "-" + "12-4",
            "isRest": 1,
            "remark": "纪念日"
        },
        {
            "name": "南京大屠杀公祭日",
            "date": year_str + "-" + "12-13",
            "isRest": 1,
            "remark": "纪念日"
        },
        # 传统节日
        {
            "name":
            "元宵节",
            "date":
            year_str + "-" + str(lantern_festival.m) + "-" +
            str(lantern_festival.d),
            "isRest":
            1,
            "remark":
            "传统节日"
        },
        {
            "name":
            "龙抬头",
            "date":
            year_str + "-" + str(dragon_head_up.m) + "-" +
            str(dragon_head_up.d),
            "isRest":
            1,
            "remark":
            "传统节日"
        },
        {
            "name":
            "七夕节",
            "date":
            year_str + "-" + str(qixi_festival.m) + "-" + str(qixi_festival.d),
            "isRest":
            1,
            "remark":
            "传统节日"
        },
        {
            "name":
            "中元节",
            "date":
            year_str + "-" + str(ghost_festival.m) + "-" +
            str(ghost_festival.d),
            "isRest":
            1,
            "remark":
            "传统节日"
        },
        {
            "name":
            "重阳节",
            "date":
            year_str + "-" + str(double_ninth_festival.m) + "-" +
            str(double_ninth_festival.d),
            "isRest":
            1,
            "remark":
            "传统节日"
        },
        {
            "name":
            "寒衣节",
            "date":
            year_str + "-" + str(winter_clothes_festival.m) + "-" +
            str(winter_clothes_festival.d),
            "isRest":
            1,
            "remark":
            "传统节日"
        },
        {
            "name":
            "下元节",
            "date":
            year_str + "-" + str(next_metaverse_festival.m) + "-" +
            str(next_metaverse_festival.d),
            "isRest":
            1,
            "remark":
            "传统节日"
        },
        {
            "name":
            "腊八节",
            "date":
            year_str + "-" + str(laba_festival.m) + "-" + str(laba_festival.d),
            "isRest":
            1,
            "remark":
            "传统节日"
        },
        {
            "name": "小年夜",
            "date": little_night_festival.strftime("%Y-%-m-%d"),
            "isRest": 1,
            "remark": "传统节日"
        },
        {
            "name": "除夕夜",
            "date": new_year_eve.strftime("%Y-%-m-%d"),
            "isRest": 1,
            "remark": "传统节日"
        },
        {
            "name": "情人节",
            "date": year_str + "-" + "2-14",
            "isRest": 1,
            "remark": "世界节日"
        },
        {
            "name": "白色情人节",
            "date": year_str + "-" + "3-14",
            "isRest": 1,
            "remark": "世界节日"
        },
        {
            "name": "国际消费者权益日",
            "date": year_str + "-" + "3-15",
            "isRest": 1,
            "remark": "世界节日"
        },
        {
            "name": "世界睡眠日",
            "date": year_str + "-" + "3-21",
            "isRest": 1,
            "remark": "世界节日"
        },
        {
            "name": "愚人节",
            "date": year_str + "-" + "4-1",
            "isRest": 1,
            "remark": "世界节日"
        },
        {
            "name": "世界卫生日",
            "date": year_str + "-" + "4-7",
            "isRest": 1,
            "remark": "世界节日"
        },
        {
            "name": "世界地球日",
            "date": year_str + "-" + "4-22",
            "isRest": 1,
            "remark": "世界节日"
        },
        {
            "name": "母亲节",
            "date": get_date_by_number(year, 5, 1, 2, "Sun"),
            "isRest": 1,
            "remark": "世界节日"
        },
        {
            "name": "父亲节",
            "date": get_date_by_number(year, 6, 1, 3, "Sun"),
            "isRest": 1,
            "remark": "世界节日"
        },
        {
            "name": "平安夜",
            "date": year_str + "-" + "12-24",
            "isRest": 1,
            "remark": "世界节日"
        },
        {
            "name": "圣诞节",
            "date": year_str + "-" + "12-25",
            "isRest": 1,
            "remark": "世界节日"
        }
    ]
    holidays.extend(fetch_jieqi(year_str))
    return holidays
예제 #21
0
파일: bazi.py 프로젝트: pingf/bazi
Gans = collections.namedtuple("Gans", "year month day time")
Zhis = collections.namedtuple("Zhis", "year month day time")

if options.b:
    gans = Gans(year=options.year[0],
                month=options.month[0],
                day=options.day[0],
                time=options.time[0])
    zhis = Gans(year=options.year[1],
                month=options.month[1],
                day=options.day[1],
                time=options.time[1])
else:

    lunar = sxtwl.Lunar()
    if options.g:
        day = lunar.getDayBySolar(int(options.year), int(options.month),
                                  int(options.day))
    else:
        day = lunar.getDayByLunar(int(options.year), int(options.month),
                                  int(options.day), options.r)

    gz = lunar.getShiGz(day.Lday2.tg, int(options.time))

    # 计算甲干相合
    gans = Gans(year=Gan[day.Lyear2.tg],
                month=Gan[day.Lmonth2.tg],
                day=Gan[day.Lday2.tg],
                time=Gan[gz.tg])
    zhis = Zhis(year=Zhi[day.Lyear2.dz],
예제 #22
0
 def __init__(self):
     self.lunar = sxtwl.Lunar()  # 实例化日历库
예제 #23
0
    def input_calendar(self):
        symbol = '年月日 \/.'
        if self.year_click_flag == True:
            date_string = self.clickedyear
            # self.textLine.setText(date_string)
        else:
            date_string = self.textLine.text()
        date_list = self.go_split(date_string, symbol)

        if len(date_list) == 3:
            y = int(date_list[0])
            self.choose_year = str(y)
            m = int(date_list[1])
            d = int(date_list[2])
            day = lunar.getDayBySolar(y, m, d)
            gongli = str(day.y) + "-" + str(day.m) + "-" + str(day.d)
            if day.Lleap:
                nongli = "润" + ymc[day.Lmc] + "月" + rmc[day.Ldi] + "日"
            else:
                nongli = ymc[day.Lmc] + "月" + rmc[day.Ldi] + "日"
            ganzhi = Gan[day.Lyear2.tg] + Zhi[day.Lyear2.dz] + "年" + Gan[day.Lmonth2.tg] + Zhi[day.Lmonth2.dz] + "月" + \
                     Gan[day.Lday2.tg] + Zhi[day.Lday2.dz] + "日"
            year = lunar.getYearCal(y)
            Shx = ShX[year.ShX]
            nianhao = self.queryEmperorYear(y)
            rulue = sxtwl.J2000 + day.d0

        elif len(date_list) == 2:
            y = int(date_list[0])
            self.choose_year = str(y)
            m = int(date_list[1])
            month = sxtwl.Lunar().yueLiCalc(y, m)
            gongli = date_string
            nongli = "条件不足"
            ganzhi = Gan[month.yearGan] + Zhi[month.yearZhi] + "年"
            Shx = ShX[month.ShX]
            nianhao = self.queryEmperorYear(y)
            rulue = "未知"

        elif len(date_list) == 1:
            y = int(date_list[0])
            self.choose_year = str(y)
            year = lunar.getYearCal(y)
            print(y)
            gongli = date_string
            nongli = "条件不足"
            ganzhi = Gan[year.yearGan] + Zhi[year.yearZhi] + "年"
            Shx = ShX[year.ShX]
            nianhao = self.queryEmperorYear(y)
            rulue = "未知"

        else:
            Shx = "未知"
            gongli = "未知"
            nongli = "未知"
            nianhao = "未知"
            ganzhi = "未知"
            rulue = "未知"
        self.labelText.setText(Shx)
        self.labelText1.setText(gongli)
        self.labelText2.setText(nongli)
        self.labelText3.setText(nianhao)
        self.labelText4.setText(ganzhi)
        self.labelText5.setText(str(rulue) + "日")
예제 #24
0
import sxtwl
lunar = sxtwl.Lunar()  #实例化日历库

year = int(input("请输入年份,例:2020\n"))

ymc = [
    u"十一", u"十二", u"正", u"二", u"三", u"四", u"五", u"六", u"七", u"八", u"九", u"十"
]
rmc = [
    u"初一", u"初二", u"初三", u"初四", u"初五", u"初六", u"初七", u"初八", u"初九", u"初十",
    u"十一", u"十二", u"十三", u"十四", u"十五", u"十六", u"十七", u"十八", u"十九", u"二十",
    u"廿一", u"廿二", u"廿三", u"廿四", u"廿五", u"廿六", u"廿七", u"廿八", u"廿九", u"三十", u"卅一"
]

#day = lunar.getDayBySolar(1996, 2, 12)
#
#print(u"公历:", day.y, u"年", day.m, u"月", day.d, u"日")
#if day.Lleap:
#    print(u"阴历:润", ymc[day.Lmc], u"月", rmc[day.Ldi], u"日")
#else:
#    print(u"阴历:", ymc[day.Lmc], u"月", rmc[day.Ldi], u"日")

day = lunar.getDayByLunar(year, 12, 24)
print(u"公历:", day.y, u"年", day.m, u"月", day.d, u"日")
if day.Lleap:
    print(u"阴历:润", ymc[day.Lmc], u"月", rmc[day.Ldi], u"日")
else:
    print(u"阴历:", ymc[day.Lmc], u"月", rmc[day.Ldi], u"日")
예제 #25
0
    def __init__(self, name):
        self._name = name
        self._entries = {}

        self.lunar = sxtwl.Lunar()  #实例化日历库
예제 #26
0
 def is_spring_day(self, year: int):
     lunar = sxtwl.Lunar()
     for i in [3, 4, 5, 6, 7, 8]:
         day = lunar.getDayBySolar(year, 2, i)
         if day.jqmc:
             return year, 2, i
예제 #27
0
Gan = ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"]
Zhi = ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"]
ShX = ["鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪"]
numCn = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"]
jqmc = [
    "冬至", "小寒", "大寒", "立春", "雨水", "惊蛰", "春分", "清明", "谷雨", "立夏", "小满", "芒种",
    "夏至", "小暑", "大暑", "立秋", "处暑", "白露", "秋分", "寒露", "霜降", "立冬", "小雪", "大雪"
]
ymc = ["十一", "十二", "正", "二", "三", "四", "五", "六", "七", "八", "九", "十"]
rmc = [
    "初一", "初二", "初三", "初四", "初五", "初六", "初七", "初八", "初九", "初十", "十一", "十二",
    "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", "廿一", "廿二", "廿三", "廿四",
    "廿五", "廿六", "廿七", "廿八", "廿九", "三十", "卅一"
]

month = sxtwl.Lunar().yueLiCalc(2017, 12)


#打印做一个中间转换
def log(*arg):
    s = ""
    for v in arg:
        s += str(v)
    print(s.decode('UTF-8').encode(type))


log(month.y, "年", month.m, "月")
log(Gan[month.yearGan], Zhi[month.yearZhi], "年")
log("生肖:", ShX[month.ShX])

days = month.days
예제 #28
0
    def festival_date(self, year, festival):
        # 日曆庫實例化
        lunar = sxtwl.Lunar()

        for y in range(self.roc_before5years, self.roc_year + 1):
            #陰曆轉陽曆
            if self.festival == 1:
                lunarday = '{}-01-01'.format(int(y) + 1911)  #農曆春節
            elif self.festival == 2:
                lunarday = '{}-05-05'.format(int(y) + 1911)  #農曆端午節
            elif self.festival == 3:
                lunarday = '{}-08-15'.format(int(y) + 1911)  #農曆中秋節
            lunarday_list = lunarday.split('-')
            solar_day = lunar.getDayByLunar((int)(lunarday_list[0]),
                                            (int)(lunarday_list[1]),
                                            (int)(lunarday_list[2]))
            importfestival = "{0}-{1}-{2}".format(solar_day.y, solar_day.m,
                                                  solar_day.d)
            festival_day = datetime.strptime(importfestival, "%Y-%m-%d")
            b1w_end = festival_day - timedelta(days=1)  #前一周結束日期
            b1w_start = b1w_end - timedelta(days=6)  #前一周開始日期
            b2w_end = b1w_start - timedelta(days=1)  #前兩周結束日期
            b2w_start = b2w_end - timedelta(days=6)  #前兩周開始日期
            b3w_end = b2w_start - timedelta(days=1)  #前三周結束日期
            b3w_start = b3w_end - timedelta(days=6)  #前三周開始日期
            b4w_end = b3w_start - timedelta(days=1)  #前四周結束日期
            b4w_start = b4w_end - timedelta(days=6)  #前四周開始日期
            a1w_start = festival_day  #節後一周開始日期暨節日當天
            a1w_end = festival_day + timedelta(days=6)  #節後一周結束日期
            a2w_start = a1w_end + timedelta(days=1)  #節後二周開始日期天
            a2w_end = a2w_start + timedelta(days=6)  #節後二周結束日期
            a3w_start = a2w_end + timedelta(days=1)  #節後三周開始日期
            a3w_end = a3w_start + timedelta(days=6)  #節後三周結束日期
            a4w_start = a3w_end + timedelta(days=1)  #節後四周開始日期
            a4w_end = a4w_start + timedelta(days=6)  #節後四周結束日期
            begin_date = b4w_start
            last_date = a4w_end
            self.all_date_list.append([begin_date.date(), last_date.date()])

            if y == self.roc_year:  #今年度新增最近1日的日期區間
                if self.festival == 1:
                    self.Chinese_New_Year_dict[str(y)] = [
                        '{0}~{1}'.format(b4w_start.date(), b4w_end.date()),
                        '{0}~{1}'.format(b3w_start.date(), b3w_end.date()),
                        '{0}~{1}'.format(b2w_start.date(), b2w_end.date()),
                        '{0}~{1}'.format(b1w_start.date(), b1w_end.date()),
                        '{0}~{1}'.format(a1w_start.date(), a1w_end.date()),
                        '{0}~{1}'.format(a2w_start.date(), a2w_end.date()),
                        '{0}~{1}'.format(a3w_start.date(), a3w_end.date()),
                        '{0}~{1}'.format(a4w_start.date(), a4w_end.date()),
                        '{0}~{1}'.format(self.yesterday, self.yesterday)
                    ]
                elif self.festival == 2:
                    self.Dragon_Boat_Festival_dict[str(y)] = [
                        '{0}~{1}'.format(b4w_start.date(), b4w_end.date()),
                        '{0}~{1}'.format(b3w_start.date(), b3w_end.date()),
                        '{0}~{1}'.format(b2w_start.date(), b2w_end.date()),
                        '{0}~{1}'.format(b1w_start.date(), b1w_end.date()),
                        '{0}~{1}'.format(a1w_start.date(), a1w_end.date()),
                        '{0}~{1}'.format(a2w_start.date(), a2w_end.date()),
                        '{0}~{1}'.format(a3w_start.date(), a3w_end.date()),
                        '{0}~{1}'.format(a4w_start.date(), a4w_end.date()),
                        '{0}~{1}'.format(self.yesterday, self.yesterday)
                    ]
                elif self.festival == 3:
                    self.Mid_Autumn_Festival_dict[str(y)] = [
                        '{0}~{1}'.format(b4w_start.date(), b4w_end.date()),
                        '{0}~{1}'.format(b3w_start.date(), b3w_end.date()),
                        '{0}~{1}'.format(b2w_start.date(), b2w_end.date()),
                        '{0}~{1}'.format(b1w_start.date(), b1w_end.date()),
                        '{0}~{1}'.format(a1w_start.date(), a1w_end.date()),
                        '{0}~{1}'.format(a2w_start.date(), a2w_end.date()),
                        '{0}~{1}'.format(a3w_start.date(), a3w_end.date()),
                        '{0}~{1}'.format(a4w_start.date(), a4w_end.date()),
                        '{0}~{1}'.format(self.yesterday, self.yesterday)
                    ]
            else:
                if self.festival == 1:
                    self.Chinese_New_Year_dict[str(y)] = [
                        '{0}~{1}'.format(b4w_start.date(), b4w_end.date()),
                        '{0}~{1}'.format(b3w_start.date(), b3w_end.date()),
                        '{0}~{1}'.format(b2w_start.date(), b2w_end.date()),
                        '{0}~{1}'.format(b1w_start.date(), b1w_end.date()),
                        '{0}~{1}'.format(a1w_start.date(), a1w_end.date()),
                        '{0}~{1}'.format(a2w_start.date(), a2w_end.date()),
                        '{0}~{1}'.format(a3w_start.date(), a3w_end.date()),
                        '{0}~{1}'.format(a4w_start.date(), a4w_end.date())
                    ]
                elif self.festival == 2:
                    self.Dragon_Boat_Festival_dict[str(y)] = [
                        '{0}~{1}'.format(b4w_start.date(), b4w_end.date()),
                        '{0}~{1}'.format(b3w_start.date(), b3w_end.date()),
                        '{0}~{1}'.format(b2w_start.date(), b2w_end.date()),
                        '{0}~{1}'.format(b1w_start.date(), b1w_end.date()),
                        '{0}~{1}'.format(a1w_start.date(), a1w_end.date()),
                        '{0}~{1}'.format(a2w_start.date(), a2w_end.date()),
                        '{0}~{1}'.format(a3w_start.date(), a3w_end.date()),
                        '{0}~{1}'.format(a4w_start.date(), a4w_end.date())
                    ]
                elif self.festival == 3:
                    self.Mid_Autumn_Festival_dict[str(y)] = [
                        '{0}~{1}'.format(b4w_start.date(), b4w_end.date()),
                        '{0}~{1}'.format(b3w_start.date(), b3w_end.date()),
                        '{0}~{1}'.format(b2w_start.date(), b2w_end.date()),
                        '{0}~{1}'.format(b1w_start.date(), b1w_end.date()),
                        '{0}~{1}'.format(a1w_start.date(), a1w_end.date()),
                        '{0}~{1}'.format(a2w_start.date(), a2w_end.date()),
                        '{0}~{1}'.format(a3w_start.date(), a3w_end.date()),
                        '{0}~{1}'.format(a4w_start.date(), a4w_end.date())
                    ]

        #新增最近一日的日期區間
        self.all_date_list.append([self.yesterday, self.yesterday])
        #西元年日期區間轉換為民國年日期區間
        if self.festival == 1:
            self.ROC_Chinese_New_Year_dict = self.year2rocyear(
                self.Chinese_New_Year_dict)
        elif self.festival == 2:
            self.ROC_Dragon_Boat_Festival_dict = self.year2rocyear(
                self.Dragon_Boat_Festival_dict)
        elif self.festival == 3:
            self.ROC_Mid_Autumn_Festival_dict = self.year2rocyear(
                self.Mid_Autumn_Festival_dict)