How to get the current date and time in Python
Here is an example of how to get the current date and time using the datetime
module in Python:
import datetime
now = datetime.datetime.now()
print
print "Current date and time using str method of datetime object:"
print str(now)
print
print "Current date and time using instance attributes:"
print "Current year: %d" % now.year
print "Current month: %d" % now.month
print "Current day: %d" % now.day
print "Current hour: %d" % now.hour
print "Current minute: %d" % now.minute
print "Current second: %d" % now.second
print "Current microsecond: %d" % now.microsecond
print
print "Current date and time using strftime:"
print now.strftime("%Y-%m-%d %H:%M")
Results:
Current date and time using str method of datetime object: 2008-06-26 11:33:15.309236 Current date and time using instance attributes: Current year: 2008 Current month: 6 Current day: 26 Current hour: 11 Current minute: 33 Current second: 15 Current microsecond: 309236 Current date and time using strftime: 2008-06-26 11:33
Directly from the
time module documentation, here are more options to use with
strftime:| Directive | Meaning | Notes |
|---|---|---|
%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]. | |
%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 |
Locale's equivalent of either AM or PM. | (1) |
%S |
Second as a decimal number [00,61]. | (2) |
%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. | (3) |
%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. | (3) |
%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. |
See also:
9
Comments
—
Comments feed for this post
#3 gary commented on 2009-10-22:
Came in very handy for a little FTP script I just wrote in Python. Thanks.
#4 python developer commented on 2009-10-22:
Thaaaaaaaaaaaaaaak you so much for the CLEAR, CLEAN and COMPLETE SOLUTION.
#7 maniek commented on 2010-07-05:
Short datetime display:
print str(now)[:10]
output: 2010-07-05
print str(now)[:16]
output: 2010-07-05 20:34
print str(now)[:19]
output: 2010-07-05 20:34:26
#8 Soule commented on 2010-07-18:
Absolutely terrific.
Did the trick for me, thanks A LOT. crucial for a project im working on;
Two questions:
How to display time in specific timezone, like in my case Pacific? and Also, how to print in 12 Hour format? I got around this by using an array, but is there any official way of doing that?
You're answer asap would be tremendously appreciated - Great Blog!
#9 Eliot commented on 2010-07-18:
Soule: Thanks, glad it was helpful... To print the time in 12-Hour format use the %I formatting string with strftime. To handle timezones, I use the pytz package. For more info, see my other blog post: Converting time zones for datetime objects in Python. Hope that helps.
Post a comment
About
I'm Eliot and this is my notepad for programming topics such as Python, Django, Ubuntu, Emacs, etc... more »
Search Blog
Tags
-
algorithms
(4)
-
aws
(8)
-
blogproject
(20)
-
c_cplusplus
(12)
-
cardstore
(8)
-
colinux
(2)
-
concurrency
(9)
-
conkeror
(2)
-
cygwin
(18)
-
datastructures
(15)
-
datetime
(3)
-
dell
(3)
-
django
(39)
-
emacs
(20)
-
files_directories
(10)
-
install_setup
(7)
-
javascript
(3)
-
keyboard
(6)
-
matplotlib
(5)
-
mercurial
(4)
-
nginx
(2)
-
preferences
(8)
-
processes
(3)
-
pyqt
(18)
-
python
(122)
-
ratpoison
(3)
-
regexes
(5)
-
rsync
(3)
-
softwaretools
(17)
-
sql
(13)
-
ssh
(7)
-
subversion
(6)
-
twisted
(6)
-
ubuntu
(60)
-
urxvt
(5)
-
vxworks
(25)
-
webservices
(4)
-
wmii
(7)
Blogroll
- Adam Gomaa
- Alex Clemesha
- Amir Salihefendic
- Armin Ronacher
- David Beazley
- David Ziegler
- Duncan McGreggor
- Gareth Rushgrave
- Glyph Lefkowitz
- Guido van Rossum
- Ian Bicking
- Jacob Kaplan-Moss
- James Bennett
- James Tauber
- Jesper Noehr
- Matt Harrison
- Nikolay Kolev
- Parand Darugar
- Peter Baumgartner
- Peter Bengtsson
- Rob Hudson
- Simon Willison
- Will McGugan
#1 Kasper commented on 2009-04-17:
Cool. Very useful, thanks :)