ฉันจะแปลงdatetime.datetimeวัตถุได้อย่างไร (เช่นค่าส่งคืนของdatetime.datetime.now())ไปยังdatetime.dateวัตถุใน Python?
from datetime import datetimeคุณสามารถเพิ่มวันที่ได้from datetime import datetime, date
ฉันจะแปลงdatetime.datetimeวัตถุได้อย่างไร (เช่นค่าส่งคืนของdatetime.datetime.now())ไปยังdatetime.dateวัตถุใน Python?
from datetime import datetimeคุณสามารถเพิ่มวันที่ได้from datetime import datetime, date
คำตอบ:
ใช้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():มันจะเป็นจริงเสมอเพราะlosdatจะมีองค์ประกอบเวลาของเที่ยงคืนซึ่งจะตกก่อนเวลาของtoday()
datetime.datetime.today()แทนdatetime.date.today()เมื่อต้องการdatetime.dateวัตถุ?
คุณสามารถแปลงวัตถุวันที่และเวลาเป็นวันที่ด้วยวิธีการ date () ของวัตถุเวลาวันที่ดังต่อไปนี้:
<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()
คุณสามารถป้อนรหัสฟอร์มนี้สำหรับ(วันนี้วันที่ & ชื่อของวัน & ชั่วโมง) :
datetime.datetime.now().strftime('%y-%m-%d %a %H:%M:%S')
'19 -09-09 จ. 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จะส่งคืน (อ้างอิง: docs.python.org/3/library/datetime.html#datetime.date.strftime )
datetime.datetime.now()datetime.date.today()