ฉันจะแปลง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()