Python Tutorials · Python Dates

Python Dates

Learn all about Python Dates in this comprehensive tutorial.

5 min read intermediate
  • A date in Python is not a data type of its own, but we can import a module named datetime to work with dates as date objects.
  • When we execute the code from the example above the result will be:
  • To create a date, we can use the datetime() class (constructor) of the datetime module.
  • The datetime object has a method for formatting date objects into readable strings.

Python Dates

A date in Python is not a data type of its own, but we can import a module named datetime to work with dates as date objects.

python

Date Output

When we execute the code from the example above the result will be:

The date contains year, month, day, hour, minute, second, and microsecond.

The datetime module has many methods to return information about the date object.

Here are a few examples, you will learn more about them later in this chapter:

python

Creating Date Objects

To create a date, we can use the datetime() class (constructor) of the datetime module.

The datetime() class requires three parameters to create a date: year, month, day.

python

The datetime() class also takes parameters for time and timezone (hour, minute, second, microsecond, tzone), but they are optional, and has a default value of 0, (None for timezone).

The strftime() Method

The datetime object has a method for formatting date objects into readable strings.

The method is called strftime(), and takes one parameter, format, to specify the format of the returned string:

python

A reference of all the legal format codes:

DirectiveDescriptionExampleTry it
%aWeekday, short versionWedTry it »
%AWeekday, full versionWednesdayTry it »
%wWeekday as a number 0-6, 0 is Sunday3Try it »
%dDay of month 01-3131Try it »
%bMonth name, short versionDecTry it »
%BMonth name, full versionDecemberTry it »
%mMonth as a number 01-1212Try it »
%yYear, short version, without century18Try it »
%YYear, full version2018Try it »
%HHour 00-2317Try it »
%IHour 00-1205Try it »
%pAM/PMPMTry it »
%MMinute 00-5941Try it »
%SSecond 00-5908Try it »
%fMicrosecond 000000-999999548513Try it »
%zUTC offset+0100
%ZTimezoneCST
%jDay number of year 001-366365Try it »
%UWeek number of year, Sunday as the first day of week, 00-5352Try it »
%WWeek number of year, Monday as the first day of week, 00-5352Try it »
%cLocal version of date and timeMon Dec 31 17:41:00 2018Try it »
%CCentury20Try it »
%xLocal version of date12/31/18Try it »
%XLocal version of time17:41:00Try it »
%%A % character%Try it »
%GISO 8601 year2018Try it »
%uISO 8601 weekday (1-7)1Try it »
%VISO 8601 weeknumber (01-53)01Try it »

Module quiz

2 questions
1

Which of the following is true about Python Dates?

2

What is the most common pitfall when working with Python Dates?

Answer all questions to submit.