Использование datetime «объединить» с time.min и time.max даст оба ваших datetime.
Например:
from datetime import date, datetime, time
pub_date = date.today()
min_pub_date_time = datetime.combine(pub_date, time.min)
max_pub_date_time = datetime.combine(pub_date, time.max)
Результат с датой публикации от 05.06.2013:
min_pub_date_time -> datetime.datetime (2013, 6, 5, 0, 0)
max_pub_date_time -> datetime.datetime (2013, 6, 5, 23, 59, 59, 999999)