예제 #1
0
def calc_(nongli):
    if nongli == 1:
        today = LunarDate.today()
        res = today.cn_month + today.cn_day
        return res
    if nongli == 0:
        cudate = datetime.datetime.now()
        res = cudate.strftime("%m-%d")
        return res
예제 #2
0
def main(list):
    # list = [
    #     ['12-25', 'test1']  #第一个是农历生日,第二个是名字
    # ]

    # 获取今天的农历日期
    today = LunarDate.today()

    year = today.year
    month = today.month
    day = today.day

    for i, name in list:

        i = i.split('-')
        tmpMonth = int(i[0])
        tmpDay = int(i[1])
        tmpNow = LunarDate(year, tmpMonth, tmpDay)  # 今年的生日日期
        if tmpNow < today:
            tmpNow = LunarDate(year + 1, tmpMonth, tmpDay)  # 明年的生日日期
        # print(tmpNow)
        dis = today - tmpNow
        dis = dis.days

        message = None
        if dis == 0:
            message = '今天'
        elif dis == -1:
            message = '明天'
        elif dis == -2:
            message = '后天'
        elif dis == -3:
            message = '大后天'

        # print(message, dis)

        # 若在范围内
        if message:
            # 转化为公历
            solarDay = tmpNow.to_solar_date()
            try:
                message = message + '是' + name + '的生日' + '  具体日期是: ' + str(
                    solarDay)
                facade.update(message, flag=True)
            except:
                pass

        else:
            facade.update(message=name + '的生日 今天不需要通知')
예제 #3
0
 def notifyBirthday(self):  # 距离生日7 、3 、1 、0天时通知
     flag = False  #标记今天没有人过生日
     for name, birthday in self.__birthdayDict.items():
         ##获取今天的农历日期
         todayNongli = LunarDate.today()
         birthday = LunarDate(todayNongli.year, birthday.month,
                              birthday.day,
                              0)  #将生日的年份改成今年,方便计算还有多少天过生日,直接与当前农历日志相减
         howMuchDays = birthday.offset - todayNongli.offset
         if (howMuchDays == 7 or howMuchDays == 3 or howMuchDays == 1
                 or howMuchDays == 0):
             text = '{name}的生日还有{howMuchDays}天,要祝福呦~。'.format(
                 name=name, howMuchDays=howMuchDays)
             desp = '###{name},祝你生日快乐,健健康康~~'.format(
                 name=name)  # 内容支持markdown
             serverJiangNoify = ServerJiangNoify(text, desp)  #初始化.
             print(serverJiangNoify.sendMessage())
             flag = True  #无人过生日
     text = "加油工作,加油学习~" + str(time.time())
     desp = "###没钱不行,没钱不行,没钱不行~"
     serverJiangNoify = ServerJiangNoify(text, desp)
     print(serverJiangNoify.sendMessage())
예제 #4
0
    def test_comparison(self):
        ld = LunarDate(1976, 8, 8)
        ld2 = LunarDate.today()
        self.assertTrue(ld < ld2)
        self.assertTrue(ld <= ld2)
        self.assertTrue(ld2 > ld)
        self.assertTrue(ld2 >= ld)
        self.assertTrue(ld != ld2)
        self.assertFalse(ld == ld2)
        self.assertTrue(LunarDate.today() == LunarDate.today())

        # Compare with a integer
        self.assertFalse(LunarDate.today() == 5)
        with self.assertRaises(TypeError):
            LunarDate.today() < 5
        with self.assertRaises(TypeError):
            LunarDate.today() > 5
        with self.assertRaises(TypeError):
            LunarDate.today() >= 5
        with self.assertRaises(TypeError):
            LunarDate.today() >= 5
예제 #5
0
# borax==3.3.1

from borax.calendars.lunardate import LunarDate
from 农历生日计算与提醒判断 import facade

list = [
    '12-26',  # 农历生日
]

# 获取今天的农历日期
today = LunarDate.today()
today_string = today.strftime('%m-%d')

year = today.year
month = today.month
day = today.day

for i in list:
    i = i.split('-')
    tmpMonth = int(i[0])
    tmpDay = int(i[1])
    tmpNow = LunarDate(year, tmpMonth, tmpDay)
    # print(tmpNow)
    dis = today - tmpNow
    dis = dis.days
    message = None
    if dis == 0:
        message = '今天'
    elif dis == -1:
        message = '明天'
    elif dis == -2:
예제 #6
0
 def test_solar_and_lunar(self):
     ld = LunarDate.today()
     sd = ld.to_solar_date()
     self.assertEqual(ld.weekday(), sd.weekday())
     self.assertEqual(ld.isoweekday(), sd.isoweekday())
예제 #7
0
 def test_create_specific_dates(self):
     today = LunarDate.today()
     self.assertEqual(1, LCalendars.delta(LunarDate.tomorrow(), today))
     self.assertEqual(-1, LCalendars.delta(LunarDate.yesterday(), today))
     self.assertEqual(5, LCalendars.delta(today.after(5), today))
     self.assertEqual(-5, LCalendars.delta(today.before(5), today))