python

How to find current date and time in Python datetime module?

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?

Tutorial details

Difficulty

Easy (rss)

Root privileges

No

Requirements

Python v2.x+

Estimated completion time

2m

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:

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

Examples

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

#!/usr/bin/python
 
import time
print (time.strftime("%H:%M:%S"))
 
## 12 hour format ##
print (time.strftime("%I:%M:%S"))
 

Sample outputs:

23:46:08
11:46:08

To print current date use:

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

Sample outputs:

04/10/2013

Getting locals date and time in Python

#!/usr/bin/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:

Directive

Meaning

%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 = datetime.datetime.now()
now.hour
now.mintue
now.year
now.day
now.month

Examples

 
#!/usr/bin/python
import datetime
i = datetime.datetime.now()
 
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" %i.day)
 
print ("dd/mm/yyyy format =  %s/%s/%s" % (i.day, 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):

#!/usr/bin/python
 
from datetime import datetime
 
i = datetime.now()
 
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

REFERENCES:

See python time and datetime module for more info.

Comments

comments