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 |