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

Pythonで日付に算術演算を実行するにはどうすればよいですか?


Pythonでtimedeltaオブジェクトを使用して、日付と時刻の計算を行うのは非常に簡単です。日付/時刻に加算または減算する場合は常に、datetime.datetime()を使用してから、datetime.timedelta()インスタンスを加算または減算します。 timedeltaオブジェクトは、期間、つまり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オブジェクトと日付の使用例-

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

timedelta()演算は、datetime.time()オブジェクトではサポートされていません。既存のdatetime.time()オブジェクトからのオフセットを使用する必要がある場合は、datetime.datetime.combine()を使用してdatetime.datetime()インスタンスを形成し、計算を行って、.timeを使用して時間を再度「抽出」します。 ()メソッド。

2つの日時オブジェクトを減算すると、timedeltaオブジェクトが得られます。このtimedeltaオブジェクトは、2つの日時の正確な違いを見つけるために使用できます。

t1 = datetime.datetime.now()
t2 = datetime.datetime.now()
print(t1 - t2)
print(type(t1 - t2))

出力

これにより、出力が得られます-

-1 day, 23:59:56.653627
<class 'datetime.timedelta'>

  1. Pythonの日付から1日を引くにはどうすればよいですか?

    timedeltaオブジェクトを使用して、Pythonの日付から日を引くことができます。減算する時間でtimedeltaオブジェクトを作成する必要があります。次に、日付からそれを引きます。 例 from datetime import datetime from datetime import timedelta today = datetime.today() yesterday = today - timedelta(days=1) print(today) print() print(yesterday) 出力 これにより、出力が得られます- 2017-12-29 12:28:06.

  2. Pythonで文字列から日付を抽出する方法は?

    文字列を抽出するには、文字列に含めることができる日付の形式を知っている必要があります。正規表現を使用して日付を抽出し、「datetime.datetime.strptime」を使用して日付を解析するだけです。たとえば、YYYY-MM-DDの形式の文字列に日付がある場合は、次のコードを使用してこの日付を抽出および解析できます。 例 import re, datetime s = "I have a meeting on 2018-12-10 in New York" match = re.search('\d{4}-\d{2}-\d{2}', s) date