回答:
次のdate()
方法を使用します。
datetime.datetime.now().date()
datetime.datetime.utcnow()
そしてそれに対応してdatetime.datetime.utcnow().date()
datetime.datetime.now(pytz.timezone('US/Pacific')).date()
ドキュメントから:
同じ年、月、日の日付オブジェクトを返します。
次のdatetime.datetime.date()
方法を使用します。
datetime.datetime.now().date()
明らかに、上記の式は次のように書くことができます(そしてIMHO :)。
datetime.date.today()
.today()
)は、上記の質問例の中で最もパイソンです。
today()
持っている時間の過ぎるのコンポーネントを。あなたがもしそうなら:losdat = datetime.datetime.strptime(losdatstr, '%d%m%Y')
その後、if losdat < datetime.datetime.today():
それは常にtrueになりますので、losdat
のタイムスタンプの前に落ちる深夜の時間成分を持つことになりますtoday()
datetime.datetime.today()
にdatetime.date.today()
、なぜの代わりに使用するのdatetime.date
ですか?
import time
import datetime
# use mktime to step by one day
# end - the last day, numdays - count of days to step back
def gen_dates_list(end, numdays):
start = end - datetime.timedelta(days=numdays+1)
end = int(time.mktime(end.timetuple()))
start = int(time.mktime(start.timetuple()))
# 86400 s = 1 day
return xrange(start, end, 86400)
# if you need reverse the list of dates
for dt in reversed(gen_dates_list(datetime.datetime.today(), 100)):
print datetime.datetime.fromtimestamp(dt).date()
次のコードフォームを入力できます(今日の日付とその日の名前と時間):
datetime.datetime.now().strftime('%y-%m-%d %a %H:%M:%S')
'19 -09-09 Mon 17:37:56 '
このコードを入力します(今日の日付のみ):
datetime.date.today().strftime('%y-%m-%d')
'19 -09-10 '
オブジェクトの場合:
datetime.datetime.now().date()
datetime.datetime.today().date()
datetime.datetime.utcnow().date()
datetime.datetime.today().time()
datetime.datetime.utcnow().date()
datetime.datetime.utcnow().time()
datetime.date
、文字列ではなくオブジェクトを取得することを望んでおり、これstrftime
は(ref:docs.python.org/3/library/datetime.html#datetime.date.strftime)を返します。
datetime.datetime.now()
は、メソッドがあることに注意してくださいdatetime.date.today()
。