1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで扱う日付と時刻

Connected

演習

fold を使って夏時間データをクリーンアップする

さきほど確認したとおり、データセット内に夏時間(Daylight Saving)の切り替えで不正になっているライドがあります。最小ライド時間を正しく求められるよう、データセットをクリーンアップしましょう。ライドの終了は必ず開始の後に起きているという事実を利用して、夏時間から標準時へ戻る際のずれで壊れてしまった継続時間を修正します。

Python は算術計算の際に tz.enfold() を扱えないため、あいまいさが解消される UTC に datetime オブジェクトを変換してから処理する必要があります。

onebike_datetimes はすでに読み込まれており、正しいタイムゾーンになっています。tz と timezone はインポート済みです。タイムゾーンには tz.UTC を使用してください。

指示

100 XP
  • if 文を、ライドの start が end より後の場合にのみ真になるように完成させてください。
  • start が end より後の場合、end に対して tz.enfold() を呼び出し、夏時間の切り替え後を指すようにしてください。
  • if 文の後で、適切に比較できるよう、start と end を UTC に変換してください。