Computer >> Computer tutorials >  >> Programming >> Python

How to get formatted date and time in Python?


You can get formatted date and time using strftime function. It accepts a format string that you can use to get your desired output. Following are the directives supported by it.

Directive    
Meaning
%a  
Locale's abbreviated weekday name
%A
Locale's full weekday name
%b  
Locale's abbreviated month name.  
%B
 Locale's full month name.    
%c  
Locale's appropriate date and time representation.  
%d    
Day of the month as a decimal number [01,31].
%H    
Hour (24-hour clock) as a decimal number [00,23].    
%I  
Hour (12-hour clock) as a decimal number [01,12].        
%m
Month as a decimal number [01,12].
%M  
Minute as a decimal number [00,59].  
%p
Locale's equivalent of either AM or PM.    
%S
 Second as a decimal number [00,61].
%U
Week number of the year (Sunday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Sunday are considered to be in week 0.
%w
Weekday as a decimal number [0(Sunday),6].
%W
Week number of the year (Monday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Monday are considered to be in week 0.
%x
 Locale's appropriate date representation.
%X  
Locale's appropriate time representation.  
%y  
Year without century as a decimal number [00,99].          
%Y
Year with century as a decimal number.
%Z  
Time zone name (no characters if no time zone exists).  
%%
 A literal "%" character.

You can use these directives in the strftime function as follows −

Example

import datetime
now = datetime.datetime.now()
print("Current date and time: ")
print(now.strftime('%Y-%m-%d %H:%M:%S'))
print(now.strftime('%H:%M:%S on %A, %B the %dth, %Y'))

Output

This will give the output −

2017-12-29 12:19:13
12:19:13 on Friday, December the 29th, 2017