Esempio n. 1
0
 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])
Esempio n. 2
0
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
Esempio n. 3
0
 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])
Esempio n. 4
0
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)
Esempio n. 5
0
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)
Esempio n. 6
0
# -*- 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):
Esempio n. 7
0
# -*- 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))