Pythonでの「昨日の」日付のフォーマット


232

MMDDYYPython でこの形式の「昨日の」日付を見つける必要があります。

したがって、たとえば、今日の日付は次のように表されます:111009

今日は簡単にこれを行うことができますが、「昨日」の場合は自動的に行うことができません。

回答:


387

使用する datetime.timedelta()

>>> from datetime import date, timedelta
>>> yesterday = date.today() - timedelta(days=1)
>>> yesterday.strftime('%m%d%y')
'110909'

1
あなたはパンダで作業することが起こるならば、あなたにも使用することができます:print((pd.to_datetime('Today') - pd.Timedelta('1 days')).strftime('%m%d%y'))
エトナ

たまたまオプションを検索する場合は、振り子(pendulum.eustace.io)を使用することもできます。pendulum.now()。subtract(days = -1).strftime( '%m%d%y')
AFD


21

これはあなたが望むことをするはずです:

import datetime
yesterday = datetime.datetime.now() - datetime.timedelta(days = 1)
print yesterday.strftime("%m%d%y")

1
システムのローカルタイムゾーンの日付よりもUTCオフセット0の人の日付の方が気になるのはなぜですか。
ジェフリーハリス

1
私は自分のコードからそれをコピーしました。データベースの使用では、UTCが気になることがよくあります。UTCのものを削除しました。
Stef

7

すべての答えは正しいですが、時間デルタは負の引数を受け入れることを述べておきます

>>> from datetime import date, timedelta
>>> yesterday = date.today() + timedelta(days=-1)
>>> print(yesterday.strftime('%m%d%y')) #for python2 remove parentheses 

5

これをもう少し国際化して、米国で一般的な奇妙な月日年ではなく、国際標準に従って日付の形式を設定できますか?

from datetime import datetime, timedelta

yesterday = datetime.now() - timedelta(days=1)
yesterday.strftime('%Y-%m-%d')

米国では奇妙な日付形式を使用することに同意しますが、OPは特に奇妙な形式(この場合は `'%m%d%y')を要求しました。
DaveL17

@ DaveL17、フェアポイント。この質問に遭遇した米国外のすべての人に答えを残します。
ArvidBäärnhielm19年

2

クリスの答えをさらに詳しく説明する

日付を特定の形式で変数に保存する場合、これは私が知る限りでは最も短く、最も効果的な方法です

>>> from datetime import date, timedelta                   
>>> yesterday = (date.today() - timedelta(days=1)).strftime('%m%d%y')
>>> yesterday
'020817'

整数として使用する場合(これは便利な場合があります)

>>> yesterday = int((date.today() - timedelta(days=1)).strftime('%m%d%y'))
>>> yesterday
20817
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.