Python Dates
Learn all about Python Dates in this comprehensive tutorial.
- •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.
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:
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.
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:
A reference of all the legal format codes:
| Directive | Description | Example | Try it |
|---|---|---|---|
| %a | Weekday, short version | Wed | Try it » |
| %A | Weekday, full version | Wednesday | Try it » |
| %w | Weekday as a number 0-6, 0 is Sunday | 3 | Try it » |
| %d | Day of month 01-31 | 31 | Try it » |
| %b | Month name, short version | Dec | Try it » |
| %B | Month name, full version | December | Try it » |
| %m | Month as a number 01-12 | 12 | Try it » |
| %y | Year, short version, without century | 18 | Try it » |
| %Y | Year, full version | 2018 | Try it » |
| %H | Hour 00-23 | 17 | Try it » |
| %I | Hour 00-12 | 05 | Try it » |
| %p | AM/PM | PM | Try it » |
| %M | Minute 00-59 | 41 | Try it » |
| %S | Second 00-59 | 08 | Try it » |
| %f | Microsecond 000000-999999 | 548513 | Try it » |
| %z | UTC offset | +0100 | |
| %Z | Timezone | CST | |
| %j | Day number of year 001-366 | 365 | Try it » |
| %U | Week number of year, Sunday as the first day of week, 00-53 | 52 | Try it » |
| %W | Week number of year, Monday as the first day of week, 00-53 | 52 | Try it » |
| %c | Local version of date and time | Mon Dec 31 17:41:00 2018 | Try it » |
| %C | Century | 20 | Try it » |
| %x | Local version of date | 12/31/18 | Try it » |
| %X | Local version of time | 17:41:00 | Try it » |
| %% | A % character | % | Try it » |
| %G | ISO 8601 year | 2018 | Try it » |
| %u | ISO 8601 weekday (1-7) | 1 | Try it » |
| %V | ISO 8601 weeknumber (01-53) | 01 | Try it » |
Module quiz
2 questionsWhich of the following is true about Python Dates?
What is the most common pitfall when working with Python Dates?
Answer all questions to submit.