> 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 -- http://mail.python.org/mailman/listinfo/python-list