วิธีตรวจสอบว่าวันที่ผ่านไปใน Python หรือไม่ (ง่ายๆ)

ฉันได้ดูไปรอบๆ เพื่อดูว่าฉันสามารถหาวิธีง่ายๆ ใน Python เพื่อดูว่าวันที่ผ่านไปแล้วหรือไม่

ตัวอย่างเช่น:- หากวันที่เป็น 01/05/2015 และวันที่; 30/04/2015 ถูกใส่เข้าไปใน Python มันจะคืนค่า True เพื่อบอกว่าวันที่ผ่านไปแล้ว

สิ่งนี้จะต้องเรียบง่ายและมีประสิทธิภาพที่สุดเท่าที่จะเป็นไปได้

ขอบคุณสำหรับความช่วยเหลือใด ๆ


person DibDibsTH13TEEN    schedule 30.04.2015    source แหล่งที่มา
comment
คุณบอกว่าคุณได้ดูไปรอบ ๆ แล้วคุณพบวิธีแก้ปัญหาบ้างไหม? ทำไมพวกเขาถึงไม่ยอมรับ?   -  person    schedule 30.04.2015
comment
โมดูล time และ datetime สามารถใช้เพื่อแปลงสตริงให้เป็นทศนิยม (แทนวินาทีนับตั้งแต่ยุค) หรืออ็อบเจ็กต์ datetime และเพื่อรับเวลาปัจจุบัน การเปรียบเทียบง่ายๆ จะช่วยส่วนที่เหลือ   -  person tdelaney    schedule 30.04.2015
comment
เป็นไปได้ที่ซ้ำกันของ เปรียบเทียบวันที่ใน Python กับ datetime   -  person Gus E    schedule 30.04.2015
comment
เป็นไปได้ที่ซ้ำกันของ จะเปรียบเทียบสองวันได้อย่างไร   -  person clesiemo3    schedule 30.04.2015


คำตอบ (4)


คุณอาจใช้ datetime โดยแยกวิเคราะห์ String ถึงวันที่ จากนั้นจึงเปรียบเทียบได้

import datetime
d1 = datetime.datetime.strptime('05/01/2015', "%d/%m/%Y").date()
d2 = datetime.datetime.strptime('30/04/2015', "%d/%m/%Y").date()
d2>d1
person Jose Ricardo Bustos M.    schedule 30.04.2015

from datetime import datetime
present = datetime.now()
print datetime(2015,04,30) < present #should return true

จัดหาเนื้อหาบางส่วนจากคำถาม/คำตอบนี้: จะเปรียบเทียบสองวันได้อย่างไร

person clesiemo3    schedule 30.04.2015

แค่เปรียบเทียบเหรอ?

>>> t1 = datetime.datetime.now()
>>> t2 = datetime.datetime.now()
>>> t1>t2
False
>>> t1<t2
True
person toucan    schedule 30.04.2015

คุณสามารถสร้างฟังก์ชันง่ายๆ ที่ทำสิ่งนี้ได้:

def has_expired(date):
    import datetime

    return date < datetime.datetime.now()
person V. Sambor    schedule 15.02.2019