Dates Module

Module

Python doesn't have a date datatype but has the module datetime that can be used to manipulate dates and times.

Displaying Current Date and Time

To display the current date and time:

import datetime
            x = datetime.datetime.now()
            print(x)
                

Output:

2024-07-25 16:51:41.083945

The `datetime` object contains year, month, day, hour, minute, second, and microsecond attributes.

Accessing Date Components

To access specific components of the current date:

import datetime
            x = datetime.datetime.now()
            print(x.year)
            print(x.strftime("%A"))
                

Output:

2024
            Thursday

Creating Date Objects

To create a specific date:

import datetime
            x = datetime.datetime(2024, 7, 25)
            print(x)
                

Output:

2024-07-25 00:00:00

The `datetime()` constructor can also take optional parameters for time and timezone.

The strftime() Method

The `strftime()` method formats `datetime` objects into readable strings using format codes:

import datetime
            x = datetime.datetime(2023, 7, 12)
            print(x.strftime("%Y"))  # Year
                

Output:

2023

Format Codes Reference

Here are some commonly used format codes:

Directive 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

These format codes can be combined to represent various aspects of a date and time.