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の日付時刻は一貫性があって美しい。
同じタグの記事
- BOM付きUTF-8からBOMを除去するpython
- jythonのヒープメモリ設定
- Kotlin1.2.50がリリースされていた
- macOSをHigh Sierraに更新した。スクリプト実行環境のバージョンは変わったのか
- macOSをMojaveに更新した。スクリプト実行環境のバージョンは変わったか
- pathlib.Pathを調べる
- pyenvでpython環境をインストール
- pyenvとvirtualenvでpython環境を構築
- python unpack
- python3で数値のlistを文字列のlistに変換
同じカテゴリの記事
コメントを残す