Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで現在の時刻にオフセットを加算・減算する方法

日付や時刻に対して値を加算・減算する(オフセットを適用する)場合には、datetime.datetime() オブジェクトを使用し、そこに datetime.timedelta() のインスタンスを足したり引いたりします。

timedelta オブジェクトは「期間(duration)」、つまり2つの日付や時刻の差分を表すオブジェクトです。timedelta コンストラクタの関数シグネチャは以下のとおりです。

datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])

注意:すべての引数は省略可能で、デフォルト値は0です。引数には int、long、float を指定でき、正の値にも負の値にもできます。詳細については公式ドキュメントを参照してください:
https://docs.python.org/2/library/datetime.html#timedelta-objects

使用例

timedelta オブジェクトを使って日付・時刻を操作する例を紹介します。ここでは、現在時刻から「2時間10分前」の時刻を求めています。

import datetime
old_time = datetime.datetime.now()
print(old_time)
new_time = old_time - datetime.timedelta(hours=2, minutes=10)
print(new_time)

実行結果

上記のコードを実行すると、次のような出力が得られます。

2018-01-04 11:09:00.694602
2018-01-04 08:59:00.694602

datetime.time() オブジェクトに関する注意点

timedelta() による演算は datetime.time() オブジェクトではサポートされていません。既存の datetime.time() オブジェクトに対してオフセットを適用したい場合は、datetime.datetime.combine() を使って datetime.datetime() インスタンスを作成し、計算を行った後、.time() メソッドで再び時刻だけを取り出すようにしてください。

  1. Tkinterのエントリウィジェットに現在の時刻を挿入するにはどうすればよいですか?

    Pythonで日付や時刻を扱う際には、標準ライブラリとして提供されている「datetime」パッケージを使用します。datetimeパッケージを活用することで、現在の日付の表示はもちろん、datetimeオブジェクトの操作や加工も可能になり、アプリケーションにさまざまな機能を追加できます。Tkinterのウィンドウに現在の日付を表示するには、まずdatetimeモジュールを環境にインポートします。インポートが完了したら、そのオブジェクトのインスタンスを作成し、Entryウィジェットを使って画面に表示しましょう。サンプルコード以下は、Entryウィジェットに現在の日付を表示する具体例です。# 必

  2. 【Python】Tkinterウィンドウに現在の日付を表示する方法

    Pythonで日付や時刻を扱う際には、標準ライブラリとして提供されている「datetime」パッケージを使用します。datetimeパッケージを活用すれば、日付の表示だけでなく、datetimeオブジェクトの操作や、アプリケーションへの追加機能の実装なども柔軟に行えます。Tkinterウィンドウに現在の日付を表示するには、まずdatetimeモジュールを環境にインポートします。インポートが完了したら、datetimeオブジェクトのインスタンスを作成し、ラベルウィジェット(Label)を使って画面に表示します。サンプルコード以下は、Tkinterウィンドウに現在の日付を表示する具体的な実装例です