python 创建MyDate类用来计算天数 实例变量:年year,月month,日day 实例方法:通过leap()方法判断当前日期是否为闰年,通过days()方法计算该日
时间: 2023-06-13 22:06:35 浏览: 95
的年内天数,通过total_days()方法计算该日距离公元1年1月1日共有多少天。
下面是一个简单的实现:
```python
class MyDate:
def __init__(self, year, month, day):
self.year = year
self.month = month
self.day = day
def leap(self):
if self.year % 4 == 0 and (self.year % 100 != 0 or self.year % 400 == 0):
return True
else:
return False
def days(self):
days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if self.leap() and self.month == 2:
return 29
else:
return days_in_month[self.month - 1]
def total_days(self):
total = 0
for y in range(1, self.year):
if MyDate(y, 1, 1).leap():
total += 366
else:
total += 365
for m in range(1, self.month):
total += MyDate(self.year, m, 1).days()
total += self.day - 1
return total
```
这个类中,`__init__()`方法用来初始化年月日;`leap()`方法用来判断当前日期是否为闰年;`days()`方法用来计算该日在该年的天数;`total_days()`方法用来计算该日距离公元1年1月1日共有多少天。
阅读全文