Câu trả lời:
Sử dụng date()
phương pháp:
datetime.datetime.now().date()
datetime.datetime.utcnow()
và tương ứngdatetime.datetime.utcnow().date()
datetime.datetime.now(pytz.timezone('US/Pacific')).date()
Từ tài liệu:
Đối tượng ngày trở lại với cùng năm, tháng và ngày.
Bạn sử dụng datetime.datetime.date()
phương pháp:
datetime.datetime.now().date()
Rõ ràng, biểu thức trên có thể (và nên IMHO :) được viết là:
datetime.date.today()
.today()
) là pythonic nhất cho câu hỏi ví dụ đã nêu.
today()
có một thành phần giờ quá. vì vậy nếu bạn làm như vậy: losdat = datetime.datetime.strptime(losdatstr, '%d%m%Y')
và sau đó if losdat < datetime.datetime.today():
nó sẽ luôn đúng bởi vì losdat
sẽ có thành phần thời gian là nửa đêm sẽ rơi trước dấu thời gian củatoday()
datetime.datetime.today()
thay vì datetime.date.today()
, khi một người muốn một datetime.date
đối tượng?
Bạn có thể chuyển đổi một đối tượng datetime thành một ngày bằng phương thức date () của đối tượng thời gian ngày, như sau:
<datetime_object>.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()
bạn có thể nhập mẫu mã này cho (ngày hôm nay & Tên của Ngày & giờ) :
datetime.datetime.now().strftime('%y-%m-%d %a %H:%M:%S')
'19 -09-09 Thứ Hai 17:37:56 '
và nhập mã này cho ( ngày hôm nay đơn giản) :
datetime.date.today().strftime('%y-%m-%d')
'19 -09-10 '
cho đối tượng:
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
đối tượng chứ không phải chuỗi, strftime
sẽ trả về (ref: docs.python.org/3/l Library / datetime.html # datetime.date.strftime ).
datetime.datetime.now()
, xin lưu ý rằng có một phương phápdatetime.date.today()
.