Skip to content
Advertisement

Formatting todays date in python as date type

I’m trying to get todays date in the format %d/%m/%y without converting to a string. I still want to have the date as the data type.

Following code returns an str

today = date.today().strftime('%d/%m/%y')

        print(type(today))

Advertisement

Answer

This is the right way to achieve your goal:

from datetime import date

today = date.today()
today_string = today.strftime('%d/%m/%Y')

print(type(today))
print(today_string)

Output:

<class 'datetime.date'>
26/10/2022

To change the date class default format:

mydatetime.py

from datetime import datetime as system_datetime, date as system_date


class date(system_date):
     def __str__(self):. # similarly for __repr__
           return "%02d-%02d-%02d" % (self._day, self._month, self._year)

class datetime(system_datetime):
     def __str__(self):. # similarly for __repr__
           return "%02d-%02d-%02d" % (self._day, self._month, self._year)

     def date(self):
           return date(self.year, self.month, self.day)

Read More: How to globally change the default date format in Python

User contributions licensed under: CC BY-SA
1 People found this is helpful
Advertisement