def norm_setHoliday(self): rule = u"(情人节)|(母亲节)|(青年节)|(教师节)|(中元节)|(端午)|(劳动节)|(7夕)|(建党节)|(建军节)|(初13)|(初14)|(初15)|" \ u"(初12)|(初11)|(初9)|(初8)|(初7)|(初6)|(初5)|(初4)|(初3)|(初2)|(初1)|(中和节)|(圣诞)|(中秋)|(春节)|(元宵)|" \ u"(航海日)|(儿童节)|(国庆)|(植树节)|(元旦)|(重阳节)|(妇女节)|(记者节)|(立春)|(雨水)|(惊蛰)|(春分)|(清明)|(谷雨)|" \ u"(立夏)|(小满 )|(芒种)|(夏至)|(小暑)|(大暑)|(立秋)|(处暑)|(白露)|(秋分)|(寒露)|(霜降)|(立冬)|(小雪)|(大雪)|" \ u"(冬至)|(小寒)|(大寒)" pattern = re.compile(rule) match = pattern.search(self.exp_time) if match is not None: if self.tp.tunit[0] == -1: self.tp.tunit[0] = int(self.normalizer.timeBase.split('-')[0]) holi = match.group() if u'节' not in holi: holi += u'节' if holi in self.normalizer.holi_solar: date = self.normalizer.holi_solar[holi].split('-') elif holi in self.normalizer.holi_lunar: date = self.normalizer.holi_lunar[holi].split('-') lsConverter = LunarSolarConverter() lunar = Lunar(self.tp.tunit[0], int(date[0]), int(date[1]), False) solar = lsConverter.LunarToSolar(lunar) self.tp.tunit[0] = solar.solarYear date[0] = solar.solarMonth date[1] = solar.solarDay else: holi = holi.strip(u'节') if holi in ['小寒', '大寒']: self.tp.tunit[0] += 1 date = self.china_24_st(self.tp.tunit[0], holi) self.tp.tunit[1] = int(date[0]) self.tp.tunit[2] = int(date[1])
def getDate(): dt = datetime.datetime.now() mes = "今天是" + str(dt.year) + "年" + str(dt.month) + "月" + str( dt.day) + "日" + "。" converter = LunarSolarConverter.LunarSolarConverter() solar = LunarSolarConverter.Solar(dt.year, dt.month, dt.day) lunar = converter.SolarToLunar(solar) lunarDate = vars(lunar) mes += "农历" if (lunarDate["isleap"]): mes += "闰" mes = mes + lunarmonthDict[lunarDate['lunarMonth']] + '月' + lunarDateDict[ lunarDate['lunarDay']] + '。\n' return mes
def norm_setHoliday(self): rule = "(清明)|(青年节)|(教师节)|(中元节)|(端午)|(劳动节)|(7夕)|(建党节)|(建军节)|(中和节)|(圣诞)|(中秋)|(春节)|(元宵)|(航海日)|(儿童节)|(国庆)|(植树节)|(元旦)|(重阳节)|(妇女节)|(记者节)" pattern = re.compile(rule) match = pattern.search(self.exp_time) if match is not None: if self.tp.tunit[0] == -1: self.tp.tunit[0] = int(self.normalizer.timeBase.split('-')[0]) holi = match.group() if '节' not in holi: holi += '节' if holi in self.normalizer.holi_solar: date = self.normalizer.holi_solar[holi].split('-') if holi in self.normalizer.holi_lunar: date = self.normalizer.holi_lunar[holi].split('-') lsConverter = LunarSolarConverter() lunar = Lunar(self.tp.tunit[0], int(date[0]), int(date[1]), False) solar = lsConverter.LunarToSolar(lunar) self.tp.tunit[0] = solar.solarYear date[0] = solar.solarMonth date[1] = solar.solarDay self.tp.tunit[1] = int(date[0]) self.tp.tunit[2] = int(date[1])
from LunarSolarConverter import LunarSolarConverter converter = LunarSolarConverter.LunarSolarConverter() for year in range(1971, 2071): solar = LunarSolarConverter.Solar(year, 8, 25) lunar = converter.SolarToLunar(solar) if lunar.lunarMonth == 7 and lunar.lunarDay == 4: print(year, year - 1971, year - 1948)
from LunarSolarConverter import LunarSolarConverter, Solar from borax.calendars.lunardate import LunarDate, MIN_SOLAR_DATE, MAX_SOLAR_DATE def iter_solar_date(): cur_date = MIN_SOLAR_DATE i = 0 while cur_date <= MAX_SOLAR_DATE or i < 10: yield cur_date cur_date = cur_date + timedelta(days=1) i += 1 converter = LunarSolarConverter() def validate_lunar(): t1 = time.time() total = 0 fail = 0 records = [] for sd in iter_solar_date(): ld = LunarDate.from_solar(sd) # test target actual = ld.strftime('%y,%m,%d,%l') solar = Solar(sd.year, sd.month, sd.day) solar_date_str = '{},{},{}'.format(sd.year, sd.month, sd.day) lunar = converter.SolarToLunar(solar)
# -*- coding: utf-8 -*- __author__ = 'isee15' import urllib2 import datetime from pprint import pprint from LunarSolarConverter import LunarSolarConverter, Solar startDateStr = '01/01/1900' startDate = datetime.datetime.strptime(startDateStr, "%m/%d/%Y") endDateStr = '12/31/2099' endDate = datetime.datetime.strptime(endDateStr, "%m/%d/%Y") curDate = startDate; converter = LunarSolarConverter() while curDate < endDate: solar = Solar(curDate.year, curDate.month, curDate.day) # pprint(vars(solar)) ret = urllib2.urlopen( 'http://localhost:1337/?src={},{},{}'.format(solar.solarYear, solar.solarMonth, solar.solarDay)).read(); lunar = converter.SolarToLunar(solar) if ret != '{},{},{},{:d}'.format(lunar.lunarYear, lunar.lunarMonth, lunar.lunarDay, lunar.isleap): pprint(vars(lunar)) print(ret) solar = converter.LunarToSolar(lunar) ret = urllib2.urlopen( 'http://localhost:1337/?src={},{},{},{:d}'.format(lunar.lunarYear, lunar.lunarMonth, lunar.lunarDay, lunar.isleap)).read(); if ret != '{},{},{}'.format(solar.solarYear, solar.solarMonth, solar.solarDay):
# -*- coding: utf-8 -*- # latest version in https://github.com/isee15/Lunar-Solar-Calendar-Converter __author__ = 'isee15' from pprint import pprint from LunarSolarConverter import LunarSolarConverter converter = LunarSolarConverter.LunarSolarConverter() solar = LunarSolarConverter.Solar(2016, 4, 8) pprint(vars(solar)) lunar = converter.SolarToLunar(solar) pprint(vars(lunar)) solar = converter.LunarToSolar(lunar) pprint(vars(solar))