Pythonで昨日

FTPで昨日のログファイルを取得したい。
FTP取得自体は、以前から行っていたが昨日を求める必要がある。

Pythonで昨日を取得する

datetime.timedeltaで一日を表現して、それをマイナスすればよいようだ

import datetime
now = datetime.datetime.now()

# 今
print(now)
# 一日前
print(now - datetime.timedelta(days=1))

すばらしい。1日はdays=1で表現できて、それを減算すると一日前のようだ。

ならば、7日前は1週間前だ。

print(now - datetime.timedelta(days=7))

7日前は1週間前という表現もできるようだ。

print(now - datetime.timedelta(weeks=1))

1時間前も取得できる。

print(now - datetime.timedelta(hours=1))

プラスすれば1時間後

print(now + datetime.timedelta(hours=1))

datetimeの引き算の結果もtimedelta

そういえば、datetimeとdatetimeの引き算の結果もtimedeltaだった。

before = datetime.datetime.strptime('2019/4/16 16:30', '%Y/%m/%d %H:%M')
after = datetime.datetime.strptime('2019/4/17 17:15', '%Y/%m/%d %H:%M')
delta = after - before
print(delta.days)
print(delta.seconds)

daysは経過日数、secoundsは経過秒数が得られる。

まとめ

Pythonの日付時刻は一貫性があって美しい。

同じタグの記事
同じカテゴリの記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA