Python で日付と時刻を並べ替える

Migel Hewage Nimesha 2023年6月21日
  1. Python で日付と時刻を並べ替える
  2. sorted() メソッドを使用して日付を並べ替える
  3. sorted() メソッドを使用して時刻をソートする
  4. sorted() メソッドを使用して日付と時刻の両方を並べ替える
  5. まとめ
Python で日付と時刻を並べ替える

Python は、世界中のプログラマーが使用する高レベルのインタープリター型プログラミング言語です。 オブジェクト指向プログラミングで有名です。

人工知能、機械学習、Web 開発、データ分析に関連するさまざまな IT セクターで Python を使用できます。 Python が人気があり実用的であるもう 1つの理由は、組み込みのライブラリとモジュールが多数あることです。

この記事では、Python を使用して日付と時刻を並べ替える方法を説明します。 datetime モジュールと sorted メソッドについても学習します。

Python で日付と時刻を並べ替える

Python を使用して実行できる機能の 1つは、日付と時刻の並べ替えです。 特定の日付と時刻を並べ替える必要がある場合があります。

たとえば、異なる日付と時刻のリストがあり、それらを昇順または降順で設定する必要がある場合、Python を使用してそれらを並べ替えることができます。

Python の datetime モジュール

何よりもまず、ソートする日付と時刻が必要です。 Python には、日付と時刻を簡単に操作するための datetime モジュールが用意されています。

datetime モジュールの下には、datetimedatetimetimedeltatzinfo、および timezone の 6つの主要なクラスがあります。

sorted() メソッド

sorted() は、リスト内の要素を並べ替えるために使用できる Python の組み込み関数です。 sorted() メソッドの構文は次のとおりです。

sorted(iterable, key=key, reverse=reverse)

ここで、iterable は、ソートする必要があるシーケンスまたはイテレータを意味します。 タプル、リスト、または辞書にすることができます。

keyreverse は、sorted 関数に指定できるオプションの値です。

ソート順を決定したい場合、key はそれを達成するために実行できる関数です。 デフォルト値は なし です。

reverse は、truefalse の値を考慮するブール値です。 値として true を設定すると降順でソートされ、値として false を設定すると要素が昇順でソートされます。

reverse のデフォルト値は false です。

このメソッドを使用して、日付と時刻を並べ替えることができます。 どうすればそれができるか見てみましょう。

sorted() メソッドを使用して日付を並べ替える

最初のステップとして、日付と時刻を扱うので、datetime モジュールから datetime メソッドをインポートする必要があります。

from datetime import datetime

次に、ランダムな日付を含むリストを定義できます。

dateList = ["2022-10-07", "2022-10-04", "2022-10-31", "2022-10-01"]

ここで、追加した日付は同じ年と月ですが、日が異なります。 それらをソートして出力してみましょう。

print(sorted(dateList))

上記のステートメントでは、print() 関数内で sorted() メソッドを使用しました。 また、そのメソッドを変数に割り当てて出力することもできます。

sortedDateList = sorted(dateList)
print(sortedDateList)

どちらのステートメントでも同じ出力が得られます。 この例では、最初の方法を使用します。

完全なコード:

from datetime import datetime

dateList = ["2022-10-07", "2022-10-04", "2022-10-31", "2022-10-01"]
print(sorted(dateList))

出力:

並べ替えられた日付

ご覧のとおり、日付は昇順で並べ替えられています。

値として true を持つ reverse 属性を追加して、それらを降順に並べ替えましょう。

print(sorted(dateList, reverse=True))

コードを実行すると、以下のような結果が得られます。

ソートされた日付の降順

上の画像のように、日付を降順に並べ替えることができます。

これを年月を変えてもう一度やってみましょう。

dateList = ["2022-10-07", "2021-10-07", "2021-09-07", "2020-10-07", "2020-10-01"]

次に、前に行ったように、それらを並べ替えて印刷できます。

print(sorted(dateList))

これで、下の画像のような結果が得られます。

異なる年と月でソートされた日付

sorted() メソッドを使用して時刻をソートする

前に、日付を並べ替えようとしました。 次に、このメソッドを使用してさまざまな時間を並べ替えてみましょう。

datetime モジュールから datetime メソッドをインポートしましょう。

from datetime import datetime

次に、さまざまな時間のリストを作成できます。

timeList = ["14:00:00", "02:00:00", "10:00:00", "23:00:00", "05:00:00"]

それでは、それらを並べ替えて印刷してみましょう。

print(sorted(timeList))

出力:

ソートされた時間

出力として、時間リストを昇順で取得します。 前に行ったように、時間を降順に並べ替えることもできます。

print("\n", sorted(timeList, reverse=True))

出力:

ソートされた時刻の降順

以下に示すように、分と秒が異なる時刻を変更してみましょう。

timeList = ["14:03:29", "02:24:23", "10:02:59", "02:23:24", "10:03:00"]
print(sorted(timeList))

コードを実行すると、以下の期待される結果が得られます。

異なる分と秒でソートされた時刻

sorted() メソッドを使用して日付と時刻の両方を並べ替える

前の手順では、日付と時刻を別々に並べ替えました。 それでは、日付と時刻の両方を一緒に並べ替えてみましょう。

dateTimeList として新しいリストを作成しましょう。 次に、以下のコード ブロックに示すように、いくつかの日付とさまざまな時刻を追加できます。

dateTimeList = [
    "2022-10-07 14:03:29",
    "2022-10-08 02:01:23",
    "2022-10-07 10:02:59",
    "2022-10-07 02:01:24",
]

ご覧のとおり、4つの日付と異なる時刻があります。 このメソッドでソートされたリストを取得できるかどうか見てみましょう。

print(sorted(dateTimeList))

出力:

ソートされた日時

上の画像のように、日付と時刻のソートされたリストを取得します。

まとめ

このチュートリアルでは、日付と時刻を並べ替える sorted() メソッドという Python の手法を学びました。

最初のステップとして、datetime モジュールをインポートし、そこから datetime メソッドもインポートする必要があります。 そうして初めて、日付と時刻を操作できます。

sorted() メソッドを使用して、さまざまな日付と時刻のリストを作成し、概念を理解するための例として並べ替えました。 日付と時刻を並べ替える方法は他にもありますが、これは Python が提供する簡単な方法です。

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

関連記事 - Python Sort