実際には秒であるint変数があります(その秒数をX
と呼びます)。結果として、現在の日付と時刻(日時形式)からX
秒を引いた値を取得する必要があります。
X
が65で、現在の日付が2014-06-03 15:45:00
の場合、結果を取得する必要があります2014-06-03 15:43:45
。
私はこれをPython 3.3.3で実行しています。おそらくdatetime
モジュールを使用できると思いますが、これまでのところ成功していません。
datetime
モジュールを実際に使用する:
import datetime
X = 65
result = datetime.datetime.now() - datetime.timedelta(seconds=X)
このパッケージの documentation を読んで、使い方を学んでください!
>>> from datetime import datetime, timedelta
>>> now = datetime.now()
>>> now
datetime.datetime(2014, 6, 3, 22, 55, 9, 680637)
>>> now - timedelta(seconds=15)
datetime.datetime(2014, 6, 3, 22, 54, 54, 680637)
これはコアライブラリソリューションです。通常、このタスクでは、サードパーティのクラスを dateutil.relativedelta
、より多くのパラメーターとより高い柔軟性があります。
@juliencの答えを拡張するには(誰かに役立つ場合)
Xに正または負の値を受け入れさせ、減算ステートメントを加算ステートメントに変更すると、次のように、より直感的になります(正値を得るために負値に負値を追加する必要はありません)。
def adjustTimeBySeconds(time, delta):
return time + datetime.timedelta(seconds=delta)
time = datetime.datetime.now()
X = -65
print(adjustTimeBySeconds(time, X))
X = 65
print(adjustTimeBySeconds(time, X))