python datetime format string code example

Example 1: python datetime string

import datetime

today = datetime.datetime.now()
date_time = today.strftime("%m/%d/%Y, %H:%M:%S")
print("date and time:",date_time)

Example 2: datetime to string python

from datetime import datetime

now = datetime.now() # current date and time

year = now.strftime("%Y")
print("year:", year)

month = now.strftime("%m")
print("month:", month)

day = now.strftime("%d")
print("day:", day)

time = now.strftime("%H:%M:%S")
print("time:", time)

date_time = now.strftime("%m/%d/%Y, %H:%M:%S")
print("date and time:",date_time)


-------------------------------------------------------------------------
Directive	Meaning	Example
%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-padded 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-padded decimal number.	01, 02, ..., 12
%-m	Month as a decimal number.	1, 2, ..., 12
%y	Year without century as a zero-padded 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-padded 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-padded 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-padded decimal number.	00, 01, ..., 59
%-M	Minute as a decimal number.	0, 1, ..., 59
%S	Second as a zero-padded decimal number.	00, 01, ..., 59
%-S	Second as a decimal number.	0, 1, ..., 59
%f	Microsecond as a decimal number, zero-padded 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-padded 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
%c	Locale’s appropriate date and time representation.	Mon Sep 30 07:06:05 2013
%x	Locale’s appropriate date representation.	09/30/13
%X	Locale’s appropriate time representation.	07:06:05
%%	A literal '%' character.	%
-------------------------------------------------------------------------

Example 3: python time format

The program below converts a datetime object containing current date and time to different string formats.

Code:
  
from datetime import datetime

now = datetime.now() # current date and time

year = now.strftime("%Y")
print("year:", year)

month = now.strftime("%m")
print("month:", month)

day = now.strftime("%d")
print("day:", day)

time = now.strftime("%H:%M:%S")
print("time:", time)

date_time = now.strftime("%m/%d/%Y, %H:%M:%S")
print("date and time:",date_time)	

Output after run the code:
year: 2020
month: 03
day: 31
time: 04:59:31
date and time: 03/31/2020, 04:59:31
      
Here, year, day, time and date_time are strings, whereas now is a datetime object.

Example 4: python date 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-padded 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-padded decimal number. (01, 02, ..., 12)
%-m - Month as a decimal number. (1, 2, ..., 12)
%y - Year without century as a zero-padded 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-padded 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-padded 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-padded decimal number. (00, 01, ..., 59)
%-M - Minute as a decimal number. (0, 1, ..., 59)
%S - Second as a zero-padded decimal number. (00, 01, ..., 59)
%-S - Second as a decimal number. (0, 1, ..., 59)
%f - Microsecond as a decimal number, zero-padded 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-padded 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)
%c - Locale’s appropriate date and time representation. (Mon Sep 30 07:06:05 2013)
%x - Locale’s appropriate date representation. (09/30/13)
%X - Locale’s appropriate time representation. (07:06:05)
%% - A literal '%' character. (%)

Example 5: python datetime now

import datetime
print(datetime.datetime.now()) #datetime.datetime.now() is the syntax

Example 6: datetime.strftime() syntax

from datetime import datetime

date_string = "21 June, 2018"

print("date_string =", date_string)
print("type of date_string =", type(date_string))

date_object = datetime.strptime(date_string, "%d %B, %Y")

print("date_object =", date_object)
print("type of date_object =", type(date_object))