Pythonで昨日・今日・明日の日付を取得する方法
Pythonで現在の日付を基準にして、昨日・今日・明日の日付を求めたい場面はよくあります。そのような場合、まずdatetimeモジュールを使って現在の日時を取得し、組み込みのtimedeltaクラスを活用することで、前日や翌日の日付を簡単に計算できます。
以下に具体的な実装例を示します。
サンプルコード
from datetime import datetime, timedelta
present = datetime.now()
yesterday = present - timedelta(1)
tomorrow = present + timedelta(1)
print("昨日の日付:")
print(yesterday.strftime('%d-%m-%Y'))
print("今日の日付:")
print(present.strftime('%d-%m-%Y'))
print("明日の日付:")
print(tomorrow.strftime('%d-%m-%Y'))実行結果
昨日の日付: 05-04-2021 今日の日付: 06-04-2021 明日の日付: 07-04-2021
コードの解説
- まず、必要なモジュールである
datetimeとtimedeltaをdatetimeパッケージからインポートします。 datetimeパッケージが提供するnow()メソッドを使用して、現在の日時を取得します。- 取得した現在日時は、変数
presentに代入されます。 timedeltaクラスに数値を引数として渡すことで、指定した日数分の差分を表すオブジェクトを作成できます。- 翌日の日付を求める場合は、現在日時に
timedeltaオブジェクトを加算します。 - 前日の日付を求める場合は、現在日時から
timedeltaオブジェクトを減算します。 strftime()メソッドを使って日付を「日-月-年」の形式(%d-%m-%Y)に整形し、結果をコンソールに出力します。
補足ポイント
timedeltaは日数だけでなく、週・時間・分・秒なども引数として指定できるため、柔軟な日時計算が可能です。また、日付の表示形式を変更したい場合は、strftime()のフォーマット文字列を変更するだけで対応できます。例えば「%Y/%m/%d」を指定すれば、「2021/04/06」のような形式で出力されます。
-
SeleniumとPythonで要素とテキストを取得する方法
Selenium WebDriverを使えば、Webページ上の要素とそのテキストを簡単に取得できます。手順としては、まずid、クラス名、CSSセレクターなどのロケーターを使って対象の要素を特定し、次にtextプロパティを使って要素内のテキストを取得します。基本構文s = driver.find_element_by_css_selector(h4).textここでdriverはWebDriverオブジェクトです。find_element_by_css_selectorメソッドは、CSSセレクターをロケーターとして要素を特定するために使用され、引数にロケーター値(この場合はh4)を渡します。最後
-
Pythonで例外メッセージをキャプチャして出力する方法
Pythonでは、発生した例外のメッセージをさまざまな方法でキャプチャし、出力することができます。以下に2つのコード例を示します。最初の例では、例外オブジェクトが持つ message 属性を使用しています。例1:message属性を使う方法try: a = 7/0 print float(a) except BaseException as e: print e.message出力integer division or modulo by zeroこのコードでは0による除算が行われたため ZeroDivisionError が発生し、そのメッセージ「integer di