Open In App

Python strftime() function

Last Updated : 24 Jul, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

The Strftime() function is used to convert date and time objects to their string representation. It takes one or more inputs of formatted code and returns the string representation in Python.

Python Strftime() Syntax

Syntax: datetime_obj.strftime(format)

Parameters: 

  • Format: consists of various format codes that define specific parts of the date and time.

Returns: It returns the string representation of the date or time object.

Strftime() Method in Python Example

The Python datetime library includes a method called strftime(). You can utilize a variety of the format codes it offers to build the necessary string representation. Let’s explore the Python date time string strftime() function’s example:

Python3




from datetime import datetime
now = datetime.now()
formatted = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted)


Output

2023-07-18 06:24:12

Time complexity: O(1)
Auxiliary Space: O(1)

Using Strftime() from Datetime Module

In this code, we are using the strftime() method from the datetime module to convert python date time string.

Python3




# Python program to demonstrate
# strftime() function
 
from datetime import datetime as dt
 
# Getting current date and time
now = dt.now()
print("Without formatting", now)
 
# Example 1
s = now.strftime("%a %m %y")
print('\nExample 1:', s)
 
# Example 2
s = now.strftime("%A %m %Y")
print('\nExample 2:', s)
 
# Example 3
s = now.strftime("%I %p %S")
print('\nExample 3:', s)
 
# Example 4
s = now.strftime("%j")
print('\nExample 4:', s)


Output

Without formatting 2019-12-17 18:21:39.211378
Example 1: Tue-12-19
Example 2: Tuesday-12-2019
Example 3: 6 PM 39
Example 4: 351

Time complexity: O(1)
Auxiliary Space: O(1)

Formatting Date and Time with AM/PM

In this code, we are using the strftime() method from the datetime module to format the date and time with AM/PM format to Python date time string.

Python3




from datetime import datetime as dt
 
date = dt.now()
formatted_date = date.strftime("%B %d, %Y")
print(formatted_date)
 
time = dt.now()
formatted_time = time.strftime("%I:%M:%S %p")
print(formatted_time)


Output

July 18, 2023
06:52:17 AM

Time complexity: O(1)
Auxiliary Space: O(1)

Combining Different Format Codes

In this code, we are using the strftime() method from the datetime module combining different format codes for a specific format and also custom string with multiple format codes to Python date time string.

Python3




from datetime import datetime as dt
 
custom = dt.now()
formatted_custom = custom.strftime("Today is %A, %B %d, %Y")
print(formatted_custom)
 
combined = dt.now()
formatted_combined = combined.strftime("%d/%m/%Y %H:%M:%S")
print(formatted_combined)


Output

Today is Tuesday, July 18, 2023
18/07/2023 06:50:49

Time complexity: O(1)
Auxiliary Space: O(1)

List of Format Codes

Reference table for the format codes.

Directive Meaning Output Format
%a Abbreviated weekday name. Sun, Mon,….
%A Full weekday name. Sunday, Monday,…..
%w Weekday as a decimal number. 0, 1,….., 6
%d Day of the month as a zero added decimal. 01, 02,…., 31
%-d Day of the month as a decimal number. 1, 2,…., 30
%b Abbreviated month name. Jan, Feb,…., Dec
%B Full month name. January, February,….
%m Month as a zero added decimal number. 01, 02,…., 12
%-m Month as a decimal number. 1, 2,….., 12
%y Year without century as a zero added decimal number. 00, 01,…, 99
%-y Year without century as a decimal number. 0, 1,…, 99
%Y Year with century as a decimal number. 2013, 2019 etc.
%H Hour (24-hour clock) as a zero added decimal number. 00, 01,….., 23
%-H Hour (24-hour clock) as a decimal number. 0, 1,…., 23
%I Hour (12-hour clock) as a zero added decimal number. 01, 02,…, 12
%-I Hour (12-hour clock) as a decimal number. 1, 2,…,12
%p Locale’s AM or PM. AM, PM
%M Minute as a zero added decimal number. 00, 01,…., 59
%-M Minute as a decimal number. 0, 1,…, 59
%S Second as a zero added decimal number. 00, 01,…, 59
%-S Second as a decimal number. 0, 1,…., 59
%f Microsecond as a decimal number, zero added on the left. 000000 – 999999
%z UTC offset in the form +HHMM or -HHMM.  
%Z Time zone name.  
%j Day of the year as a zero added decimal number. 001, 002,….., 366
%-j Day of the year as a decimal number. 1, 2,…., 366
%U Week number of the year (Sunday as the first day of the week). All days in a new year preceding the first Sunday are considered to be in week 0. 00, 01,…., 53
%W Week number of the year (Monday as the first day of the week). All days in a new year preceding the first Monday are considered to be in week 0. 00, 01,….., 53



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads