Display Python datetime without time Display Python datetime without time python python

Display Python datetime without time


print then.date()

What you want is a datetime.date object. What you have is a datetime.datetime object. You can either change the object when you print as per above, or do the following when creating the object:

then = datetime.datetime.strptime(when, '%Y-%m-%d').date()


>>> print then.date(), type(then.date())2013-05-07 <type 'datetime.date'>


If you need the result to be timezone-aware, you can use the replace() method of datetime objects. This preserves timezone, so you can do

>>> from django.utils import timezone>>> now = timezone.now()>>> nowdatetime.datetime(2018, 8, 30, 14, 15, 43, 726252, tzinfo=<UTC>)>>> now.replace(hour=0, minute=0, second=0, microsecond=0)datetime.datetime(2018, 8, 30, 0, 0, tzinfo=<UTC>)

Note that this returns a new datetime object -- now remains unchanged.