What would be the best way to see if the current time lies between say 10:30 AM
and 4:30 PM
.
I could think of the following, not sure how correct:
from datetime import datetime
nw = datetime.now()
hrs = nw.hour;mins = nw.minute;secs = nw.second;
zero = timedelta(seconds = secs+mins*60+hrs*3600)
st = nw - zero # this take me to 0 hours.
time1 = st + timedelta(seconds=10*3600+30*60) # this gives 10:30 AM
time2 = st + timedelta(seconds=16*3600+30*60) # this gives 4:30 PM
if nw>= time1 or nw <= time2:
print "yes, within the interval"
Please let me know if this the correct approach, can something better be written?
timedelta()
allows you to specify days, hours and minutes too, so you don't have to calculate it and the code is more readable. – Bruges