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())
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)
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())