Проблема в том, что вы делаете datetime.now.date (), который теряет часть времени, и вы получаете что-то вроде datetime.date (2019, 2, 23).Если вы также хотите сохранить время, так как вам нужны часы, удалите .date (), чтобы сохранить компонент времени:
>>> from datetime import datetime
>>> import pytz
>>> from tzlocal import get_localzone
Здесь я использую местный часовой пояс.Читайте о часовых поясах pytz, например, pytz.utc для времени UTC
>>> local_tz = get_localzone()
с .date () у вас нет часов или минут
>>>> datetime.now(local_tz).date()
datetime.date(2019, 2, 25)
без .date () вы можете видеть, что у вас есть часы, минуты, секунды и usecs
>>> datetime.now(local_tz)
datetime.datetime(2019, 2, 25, 12, 33, 42, 425078, tzinfo=<DstTzInfo 'Europe/Amsterdam' CET+1:00:00 STD>)