0% found this document useful (0 votes)
80 views9 pages

12 Date Time

The Python datetime module contains four classes - date, time, datetime, and timedelta - for working with dates and times. The date class stores year, month, and day attributes. The time class stores hour, minute, second, and microsecond attributes. The datetime class combines date and time. The timedelta class stores time differences or durations. Constructors and attributes are used to create datetime objects and access their components. The strftime and strptime methods convert between datetime objects and ISO 8601 strings for storage and retrieval from databases.

Uploaded by

Birhane Haftu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
80 views9 pages

12 Date Time

The Python datetime module contains four classes - date, time, datetime, and timedelta - for working with dates and times. The date class stores year, month, and day attributes. The time class stores hour, minute, second, and microsecond attributes. The datetime class combines date and time. The timedelta class stores time differences or durations. Constructors and attributes are used to create datetime objects and access their components. The strftime and strptime methods convert between datetime objects and ISO 8601 strings for storage and retrieval from databases.

Uploaded by

Birhane Haftu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Python – Dates and

Times
Working with time in Python
The module for handling time is called "datetime" it contains four
classes:
◦ date - year, month, and day
◦ time - hour, minute, second, microsecond, and timezone
◦ datetime - holds both date and time (see above)
◦ timedelta - holds a 'difference' in time between two of the above

Details here: https://docs.python.org/3.4/library/datetime.html


datetime.date
Two ways to construct:
◦ date(year, month, day)
◦ date.today()
You can get the data out through attributes:
◦ date.year, date.month, date.day
d = datetime.date(2000, 12, 15)
d.year # 2000
datetime.time
One constructor:
◦ time(hour, minute, second, microsecond) all are assumed 0 unless
specified
You can get the data out through attributes:
◦ time.hour, time.minute, time.second, time.microsecond
t = datetime.time(14, 11, 56)
t.minute # 11
datetime.datetime
Two constructors:
◦ datetime(year, month, day, hour, minute, second, microsecond)
◦ datetime.now() gets the current date and time

You can get the data out through attributes:


◦ Combined attributes of date and time
dt = datetime.datetime.now()
dt.day # 8
dt.hour # 1
datetime.timedelta
One constructor:
◦ timedelta(days, hours, minutes, seconds, ...)
◦ Defaults to zero if arguments aren't supplied
◦ delta = datetime.timedelta(days=2) # Represents 2 days duration
You can use it to calculate datetimes:
◦ datetime.datetime.now() + delta # yields a date 2 days from now
import datetime
now = datetime.datetime.now()
birth = datetime.datetime(1988, 11, 1, 9) #Nov 1st, 1988 9AM
my_age = now - birth # age is a timedelta
legal_drinking_age = datetime.timedelta(days = (21 * 365))
is_legal_to_drink = my_age > legal_drinking_age
# Doesn't take leap days/seconds into account
Converting Python datetime to ISO 8601
All the datetime classes have a "strftime" method
◦ This method will output a string formatted according to a pattern
dt = datetime.datetime(2015, 3, 4, 12, 35)
dt.strftime("%Y-%m-%d %H:%M:%S")
# yields '2015-03-04 12:35:00'
You can use the datetime class method, "strptime", to convert a string to
a datetime object.
◦ The method takes a date_string and a format, and it returns a datatime object
dt2 = datetime.datetime.strptime('2015-03-04 12:35:00',
"%Y-%m-%d %H:%M:%S")
assert dt == dt2
Combining Python and SQLite datetimes
SQL databases can't hold Python objects, so you must convert them
to ISO 8601 and store the resulting TEXT.
◦ You can use the 'strftime' method to do this

On retrieving a date encoded as TEXT you can convert the string back
to a Python datetime class.
◦ You can use the 'strptime' method to do this

Note, using SQL date/time functions may alter the format (i.e. add
microsecond precision or timezone info) so you should refrain from
using them.

You might also like