def test_edge_dates(self):
        # Max date
        self.assertEqual(MAX_OFFSET, LunarDate.max.offset)
        self.assertEqual(MAX_OFFSET, (LunarDate.max - LunarDate.min).days)
        self.assertEqual(MAX_OFFSET + 1, sum(YEAR_DAYS))

        self.assertEqual(0, (LunarDate.min - MIN_SOLAR_DATE).days)
        self.assertEqual(0, (LunarDate.max - MAX_SOLAR_DATE).days)

        sd2100_ld = LunarDate.from_solar_date(2100, 12, 31)
        self.assertEqual('庚申年戊子月丁未日', sd2100_ld.gz_str())
        sd2101_ld = LunarDate.from_solar_date(2101, 1, 28)
        self.assertEqual('庚申年己丑月乙亥日', sd2101_ld.gz_str())
Exemple #2
0
    def test_convert_datetime(self):
        dt = LunarDate(1976, 8, 8, 1).to_solar_date()
        self.assertEqual(date(1976, 10, 1), dt)
        dt2 = LunarDate.from_solar_date(2033, 10, 23)
        self.assertTrue(LunarDate(2033, 10, 1, 0), dt2)

        # day out of range
        with self.assertRaises(ValueError):
            LunarDate(2004, 1, 30).to_solar_date()

        # year out of range [1900, 2100]
        with self.assertRaises(ValueError):
            LunarDate(2101, 1, 1).to_solar_date()
 def settime(self):
     a,b,c,d=time.strftime('%Y'),time.strftime('%m'),time.strftime('%d'),int(time.strftime('%w'))
     e={1:'星期一',2:'星期二',3:'星期三',4:'星期四',5:'星期五',6:'星期六',0:'星期日'}
     f=e[d]
     nl=LunarDate.from_solar_date(int(a),int(b),int(c))
     g,h,i,j=nl.gz_year,nl.animal,nl.cn_month,nl.cn_day
     today1=a+'年'+b+'月'+c+'日'+f
     todaynl='%s(%s)年%s%s%s'%(g,h,i,j,f)
     time1=time.strftime('%H:%M:%S')
     self.var1.set(todaynl)
     self.var2.set(today1)
     self.var3.set(time1)
     self.root.after(1000,self.settime)
Exemple #4
0
    def test_edge_dates(self):
        # Max date
        self.assertEqual(MAX_OFFSET, LunarDate.max.offset)

        sd2100_ld = LunarDate.from_solar_date(2100, 12, 31)
        self.assertEqual('庚申年戊子月丁未日', sd2100_ld.gz_str())