Python: Get Today’s Current Date and Time

last updated in Categories , , ,

How do I find out the current date and time in Python? What is the module or function I need to use to get current time or date in Python programming language?

You can use time module (low level) which provides various time-related functions. However, this module is always available, not all functions are available on all platforms. Hence, you need to use the datetime (high level Object-oriented interface to dates and times) module in Python. It provides classes for manipulating dates and times in both simple and complex ways. While date and time arithmetic is supported, the focus of the implementation is on efficient attribute extraction for output formatting and manipulation.

Getting current time in python using time module

The syntax is:

## 24 hour format ##
## 12 hour format ##


A simple program in python to get today’s date and time:

import time
print (time.strftime("%H:%M:%S"))
## 12 hour format ##
print (time.strftime("%I:%M:%S"))

Sample outputs:


To print current date use:

import time
## dd/mm/yyyy format
print (time.strftime("%d/%m/%Y"))

Sample outputs:


Getting locals date and time in Python

import time
now = time.strftime("%c")
## date and time representation
print "Current date & time " + time.strftime("%c")
## Only date representation
print "Current date "  + time.strftime("%x")
## Only time representation
print "Current time " + time.strftime("%X")
## Display current date and time from now variable 
print ("Current time %s"  % now )

Sample outputs:

Current date & time Sat Oct  5 00:04:59 2013
Current date 10/05/13
Current time 00:04:59
Current time Sat Oct  5 00:04:59 2013

Format strings

The following directives can be embedded in the format string:

%a Weekday name.
%A Full weekday name.
%b Abbreviated month name.
%B Full month name.
%c 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].
%j Day of the year as a decimal number [001,366].
%m Month as a decimal number [01,12].
%M Minute as a decimal number [00,59].
%p 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 Appropriate date representation.
%X Apropriate 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.

Get the current date and time in Python using datetime module

The syntax is:

now =


import datetime
i =
print ("Current date & time = %s" % i)
print ("Date and time in ISO format = %s" % i.isoformat() )
print ("Current year = %s" %i.year)
print ("Current month = %s" %i.month)
print ("Current date (day) =  %s"
print ("dd/mm/yyyy format =  %s/%s/%s" % (, i.month, i.year) )
print ("Current hour = %s" %i.hour)
print ("Current minute = %s" %i.minute)
print ("Current second =  %s" %i.second)
print ("hh:mm:ss format = %s:%s:%s" % (i.hour, i.month, i.second) )

Sample outputs:

Current date & time = 2013-10-05 00:15:31.769049
Date and time in ISO format = 2013-10-05T00:15:31.769049
Current year = 2013
Current month = 10
Current date (day) =  5
dd/mm/yyyy format =  5/10/2013
Current hour = 0
Current minute = 15
Current second =  31
hh:mm:ss format = 0:10:31

You can use date.strftime(format) to get a string representing the date, controlled by an explicit format string (see above table):

from datetime import datetime
i =
print str(i)
print i.strftime('%Y/%m/%d %H:%M:%S')

Sample outputs:

2013-10-05 00:20:30.495228
2013/10/05 00:20:30

See python time and datetime module for more info.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

16 comment

  1. Hey Nixcraft, that’s an excellent tutorial on obtaining the current date and time. Thanks a lot for sharing

  2. What a phenomenal tutorial! I stumbled upon it by accident while doing homework, solved a lot of problems I have had in the past! Thanks a ton!

  3. very helpful post… i wondered on the internet but this is exactly what i was looking for!!!!
    great work . thanks a lot

  4. Thanks for the tutorial!
    Just one typo:

    print (“hh:mm:ss format = %s:%s:%s” % (i.hour, i.month, i.second) )

    I have a feeling that the second entry in the tuple should be i.minute.

    Just thought I’d mention this in case anyone copies the example code into their program, and is confused by the incorrect timestamps…

  5. nice explanation, however it only prints the time when you open the file, is there a way to make it so that the time updates?

  6. But how could I produce a code in which it records current time when ‘enter’ is pressed?
    Also how can I take an amount of time away from another.

    Still, have a question? Get help on our forum!