Posted under » MySQL » Python on 20 Mar 2024
MySQL datetime looks like this 2024-03-19 21:07:55.118494. Problem is when you want to do a datetime compare you can't because all you have is string. So you need to import datetime and convert the string into a python datetime format.
from datetime import datetime for dog in query: akhir = dog.created tday = datetime(2024,3,16,0) if akhir > tday : print(akhir)
Another example Django API
Sometime you need to strip away (strptime) the time from datetime and just leave the date data.
from datetime import datetime format_data = "%Y-%m-%d %H:%M:%S.%f" for x in p391: query = (quiz_question_log .select().where(quiz_question_log.created > '2024-08-01', quiz_question_log.test_id == 4) .order_by(quiz_question_log.id.asc())).limit(1) for dog in query : dogdate = datetime.strptime(str(dog.endate), format_data) print(dog.user_id, "You have done nothing!", dogdate.date() )
If you just want to see the time, you change the param as dogdate.time()
The traditional way to calculate the days between date is
from datetime import date d0 = date(2024, 8, 24) d1 = date(2024, 9, 4) diff = d1 - d0 print(diff.days)
For information on datetime — Basic date and time types library.