回答編集履歴
2
Update
test
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
b = datetime.strptime(today_year_month_day, '%Y%m%d')
|
8
8
|
leapdays = calendar.leapdays(
|
9
9
|
(a.year+1 if a.month >= 3 else a.year),
|
10
|
-
(b.year if b.month == 1 or (b.month == 2 and b.day < 29) else b.year
|
10
|
+
(b.year if b.month == 1 or (b.month == 2 and b.day < 29) else b.year+1))
|
11
11
|
return ((b - a).days - leapdays, b.date().strftime('%A'))
|
12
12
|
|
13
13
|
if __name__ == '__main__':
|
1
Update
test
CHANGED
@@ -1,16 +1,19 @@
|
|
1
|
-
※ 以下、回答ではありませんが、うるう年を考慮する場合
|
2
1
|
```python
|
3
2
|
from datetime import datetime
|
3
|
+
import calendar
|
4
4
|
|
5
5
|
def calc_daycount_and_dayofweek(year_month_day, today_year_month_day):
|
6
6
|
a = datetime.strptime(year_month_day, '%Y%m%d')
|
7
7
|
b = datetime.strptime(today_year_month_day, '%Y%m%d')
|
8
|
+
leapdays = calendar.leapdays(
|
9
|
+
(a.year+1 if a.month >= 3 else a.year),
|
10
|
+
(b.year if b.month == 1 or (b.month == 2 and b.day < 29) else b.year + 1))
|
8
|
-
return ((b - a).days, b.date().strftime('%A'))
|
11
|
+
return ((b - a).days - leapdays, b.date().strftime('%A'))
|
9
12
|
|
10
13
|
if __name__ == '__main__':
|
11
14
|
days_weeks = calc_daycount_and_dayofweek('19810101', '20220523')
|
12
15
|
print(days_weeks)
|
13
16
|
|
14
17
|
#
|
15
|
-
(151
|
18
|
+
(15107, 'Monday')
|
16
19
|
```
|