Hurry! Try our new Interactive Courses for FREE. 🥳   🚀
  Signup/Sign In

How to convert date object to string in Python

In this tutorial, we will learn how to convert a given date object to a string using the strftime() function.

Strftime() function

In python, there is a function called strftime() which converts a datetime, time, and date object into a string object according to the given format.

This strftime() function is available in datetime and time modules.

Syntax:

datetime.strftime(format)

The following table contains the most commonly used Python strftime() format directives.

Sl.no

Directive

Meaning Example
1. %a

It is Weekday’s abbreviated name

Sun, Mon, Tue, Wed, Thu, Fri, Sat
2. %A

It is Weekday’s full name.

Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
3.

%b

It is an abbreviated month’s name. Jan, Feb, …, Dec
4. %B

It is the full name of Months.

January, February, …, December
5. %c

It is the representation of the preferred date and time.

Sat Jan 09 21:30:00 2021
6. %d

Day of the month as a zero-padded decimal number. (01 to 31)

01, 02, …, 31
7. %f It is a decimal number representing the Microsecond.

000000, 000001, …, 999999

Not applicable to the time module.

8. %H

The decimal number represents the Hour, 24-hour clock format(00 to 23)

01, 02, … , 23
9. %I

The decimal number represents the Hour, 12-hour clock format(01 to 12)

01, 02, … , 12
10. %j

It is a decimal number that represents the Day of the year.

001, 002, …, 366
11. %m

Month as a zero-padded decimal number(01 to 12).

01, 02 … 12
12. %M

It is a decimal number that represents the Minute (01 to 59).

01, 02, … , 59
13. %p

It represents either AM or PM corresponding to the given time value.

AM, PM
14. %S

It is a decimal number that represents the Second (01 to 59).

01, 02, … , 59
15. %U

Week number of the current year

Sunday is the first day of the first week.

00, 01, …, 53
16. %w

The decimal number represents the day of the week.

0, 1, 2, 3, 4, 5, 6
17. %W

Week number of the current year

Monday is the first day of the first week.

00, 01, …, 53
18. %x

It is the representation of preferred dates without time.

08/16/88

08/16/1988

16.08.1988

19. %X

It is the representation of the preferred time without a date.

21:30:00
20. %y

The decimal number represents the year without a century (from 00 to 99).

01, 02, … 99
21. %Y

The decimal number represents the year with the century.

0001, 0002, … , 9999
22. %Z or %z Time zone name.

(empty), UTC, IST, CST

+0000, -0400, +1030

23. %%

A literal ‘%’ character.

%

Consider examples to understand how the strftime() method works.

How to get the current time and date

In python, we can get the current date and time using the datetime object.

In the datetime module, the now() function gives us the current local date and time.

Example 1:

The below example shows how to get the current time and date using the now() function.

import datetime
current_datetime=datetime.datetime.now()
print("current date and time:",current_datetime)


current date and time: 2021-01-10 14:54:36.638514

Example: Convert current date and time to string

By using the strftime() function, we can format the current date and time.

We already know the formats directives that the strftime() function uses from the table.

import datetime
current_datetime=datetime.datetime.now()
print("current date and time:",current_datetime)
str_date = current_datetime.strftime("%d-%m-%Y")
print("current date and time:",str_date)
print(type(str_date))
print("The Current day is: ",current_datetime.strftime("%d"))
print("The Current week is: ",current_datetime.strftime("%W"))
print("The Current month is: ",current_datetime.strftime("%B"))
print(" TheCurrent year is: ",current_datetime.strftime("%Y"))
print("Current Hour in a 24-hour clock format: ",current_datetime.strftime("%H"))
print("AM OR PM : ",current_datetime.strftime("%p"))


current date and time: 2021-01-10 15:35:08.879407
The current day is: 10
The current week is: 01
The current month is: January
The current year is: 2021
Current Hour in a 24-hour clock format: 15
AM OR PM: PM

Now, we know how to use the strftime() function. So in the next example try to convert date objects to strings in different formats.

Example 3:

The below example shows how to convert a date object to a string.

import datetime
current_datetime=datetime.datetime.now()
print("current date and time:",current_datetime)
print("Current day is: ",current_datetime.strftime("%d"))
print("Current week is: ",current_datetime.strftime("%W"))
print("Current month is: ",current_datetime.strftime("%B"))
print("Current year is: ",current_datetime.strftime("%Y"))
print("Current Hour in 24-hour clock format: ",current_datetime.strftime("%H"))
print("AM OR PM : ",current_datetime.strftime("%p"))


<class 'datetime.datetime'>
Date in different formats:
Friday, August 1947
Fri Aug 47
Aug/Friday/1947
Aug-Fri-1947
Aug,15,1947
Aug,15,1947
<class 'str'>

In the above code, we converted the date object into different string formats.