Python Datetime Module
Datetime Module
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.
Example
Import the datetime module and display the current date:
import datetime
x = datetime.datetime.now()
print(x)
Date
Output
When we execute
the code from the example above the result will be:
2023-01-30 14:31:33.141485
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:
Example
Return the year and name of weekday:
import datetime
x = datetime.datetime.now()
print(x.year)
print(x.strftime("%A"))
Output:
2023
Monday
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.
Example
Create a date object:
import datetime
x = datetime.datetime(2020, 5, 17)
print(x)
Output:
2023-01-30 00:00:00
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:
Example
Display the name of the month:
import datetime
x = datetime.datetime(2018, 6, 1)
print(x.strftime("%B"))
Output:
June
A reference of all the legal format codes:
|
Description |
Example |
|
|
%a |
Weekday, short
version |
Wed |
|
%A |
Weekday, full
version |
Wednesday |
|
%w |
Weekday as a
number 0-6, 0 is Sunday |
3 |
|
%d |
Day of month
01-31 |
31 |
|
%b |
Month name,
short version |
Dec |
|
%B |
Month name,
full version |
December |
|
%m |
Month as a
number 01-12 |
12 |
|
%y |
Year, short
version, without century |
18 |
|
%Y |
Year, full
version |
2018 |
|
%H |
Hour 00-23 |
17 |
|
%I |
Hour 00-12 |
05 |
|
%p |
AM/PM |
PM |
|
%M |
Minute 00-59 |
41 |
|
%S |
Second 00-59 |
08 |
|
%f |
Microsecond
000000-999999 |
548513 |
|
%z |
UTC offset |
+0100 |
|
%Z |
Timezone |
CST |
|
%j |
Day number of
year 001-366 |
365 |
|
%U |
Week number of
year, Sunday as the first day of week, 00-53 |
52 |
|
%W |
Week number of
year, Monday as the first day of week, 00-53 |
52 |
|
%c |
Local version
of date and time |
Mon Dec 31
17:41:00 2018 |
|
%C |
Century |
20 |
|
%x |
Local version
of date |
12/31/18 |
|
%X |
Local version
of time |
17:41:00 |
|
%% |
A % character |
% |
|
%G |
ISO 8601 year |
2018 |
|
%u |
ISO 8601
weekday (1-7) |
1 |
|
%V |
ISO 8601
weeknumber (01-53) |
01 |
Post a Comment