To create a datetime object with the current date and time you can simply use Python's
datetime module and
now() method. You can then use the
strftime() (string format time) method to display the datetime object in whatever format you like.
Here's an example of how to create a datetime object with the current datetime, access it's various attributes and display the time in a few common formats. Below this you'll find more information on how to format the appearance of datetime objects.
from datetime import datetime now = datetime.now() print(now) # 2019-08-09 19:02:36.533074 # Access attributes year = now.year # 2019 month = now.month # 8 day = now.day # 9 hour = now.hour # 19 minute = now.minute # 2 second = now.second # 36 microsecond = now.microsecond # 533074 # Format date and time date = now.strftime('%Y-%m-%d') print(date) # 2019-08-09 time = now.strftime('%H:%M:%S %p') print(time) # 19:18:50 PM word_month = now.strftime('%d %B %y') print(word_month) # 09 August 19 word_month_short = now.strftime('%-d %b') print(word_month_short) # 9 Aug word_month_short_windows = now.strftime('%d %b').replace('0', '') print(word_month_short_windows) # 9 Aug (windows compatible) locale_format = now.strftime('%c') print(locale_format) # Fri Aug 9 19:29:29 2019 week_num = now.strftime('%W') print(week_num) # 31 (Monday as first day of week) weekday_num = now.strftime('%w') print(weekday_num) # 5 (Sunday is 0) day_num_of_year = now.strftime('%j') print(day_num_of_year) # 221
To format a datetime object, you pass the
strftime() method a string argument to convey how you would like the datetime to be displayed. The
% operator followed by the appropriate date format directive character (e.g.
%Y for the 4 digit year) tells Python where you want certain date or time values to appear in the string. Other characters like
: can be added to the string and will appear as is.