time between now and the next 2:30 am?
Christian Heimes
lists at cheimes.de
Fri Jul 23 19:24:33 EDT 2010
> Your case could be handled by something like:
>
> from datetime import datetime
> from dateutil.relativedelta import relativedelta
>
> target = datetime.now() + relativedelta(days=+1, hour=2, minute=30,
> second=0, microsecond=0)
> remaining = target - datetime.now()
You don't need the dateutil package for the trick:
>>> dt = datetime(2010, 1, 1, 1, 0)
>>> str(dt)
'2010-01-01 01:00:00'
>>> next = dt.replace(hour=2, minute=30)
>>> next - dt
datetime.timedelta(0, 5400)
>>> (next - dt).seconds
5400
>>> dt = datetime(2010, 1, 1, 3, 0)
>>> next = dt.replace(hour=2, minute=30)
>>> next - dt
datetime.timedelta(-1, 84600)
>>> (next - dt).seconds
84600
More information about the Python-list
mailing list