回答編集履歴
3
以上・以下に対応
test
CHANGED
@@ -58,7 +58,7 @@
|
|
58
58
|
|
59
59
|
# 判定して返す
|
60
60
|
|
61
|
-
if this_year_summer_start < date < this_year_summer_end:
|
61
|
+
if this_year_summer_start <= date <= this_year_summer_end:
|
62
62
|
|
63
63
|
return "summer"
|
64
64
|
|
@@ -98,8 +98,6 @@
|
|
98
98
|
|
99
99
|
main()
|
100
100
|
|
101
|
-
|
102
|
-
|
103
101
|
```
|
104
102
|
|
105
103
|
|
@@ -109,3 +107,9 @@
|
|
109
107
|
何回も呼ぶのであれば、3月第2日曜日と11月第1日曜日の計算はキャッシュされるような仕組みを作った方が良いかもしれません。
|
110
108
|
|
111
109
|
以上未満がよくわからなかったのと、冬と夏は逆な気がしたので、とりあえずソースの通りの判定にしてあります。
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
### 追記
|
114
|
+
|
115
|
+
区間は以上・以下(第二・第一日曜日含む)とのことなのでそれに合わせて判定処理を修正しました。
|
2
ソース変数名修正(time→date)
test
CHANGED
@@ -10,9 +10,9 @@
|
|
10
10
|
|
11
11
|
def check_summer_winter(date_str):
|
12
12
|
|
13
|
-
t
|
13
|
+
date = datetime.datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
|
14
14
|
|
15
|
-
year = t
|
15
|
+
year = date.year
|
16
16
|
|
17
17
|
|
18
18
|
|
@@ -58,7 +58,7 @@
|
|
58
58
|
|
59
59
|
# 判定して返す
|
60
60
|
|
61
|
-
if this_year_summer_start < t
|
61
|
+
if this_year_summer_start < date < this_year_summer_end:
|
62
62
|
|
63
63
|
return "summer"
|
64
64
|
|
1
コメント修正
test
CHANGED
@@ -36,7 +36,7 @@
|
|
36
36
|
|
37
37
|
|
38
38
|
|
39
|
-
#
|
39
|
+
# その年の11月の第一日曜日を決める
|
40
40
|
|
41
41
|
this_year_summer_end = datetime.datetime(year, 11, 1)
|
42
42
|
|