Reputation: 21038
I am trying to figure out the differences between the datetime
and time
modules, and what each should be used for.
I know that datetime
provides both dates and time. What is the use of the time
module?
Examples would be appreciated and differences concerning timezones would especially be of interest.
Upvotes: 214
Views: 103196
Reputation: 174
Just noticed that time
is more precise than datetime
with an extra digit.
import time as tm
from datetime import datetime as dt
restime = tm.time()
resdtime = dt.timestamp(dt.now())
print("TIME:".rjust(10," "),restime)
print("DATETIME:".rjust(10," "),resdtime)
Output
TIME: 1637357103.7650678
DATETIME: 1637357103.765067
Upvotes: 4
Reputation: 156288
The time
module is principally for working with Unix time stamps; expressed as a floating point number taken to be seconds since the Unix epoch. the datetime
module can support many of the same operations, but provides a more object oriented set of types, and also has some limited support for time zones.
Upvotes: 155
Reputation: 31618
time
to prevent DST ambiguity.Use exclusively the system time
module instead of the datetime
module to prevent ambiguity issues with daylight savings time (DST).
Conversion to any time format, including local time, is pretty easy:
import time
t = time.time()
time.strftime('%Y-%m-%d %H:%M %Z', time.localtime(t))
'2019-05-27 12:03 CEST'
time.strftime('%Y-%m-%d %H:%M %Z', time.gmtime(t))
'2019-05-27 10:03 GMT'
time.time()
is a floating point number representing the time in seconds since the system epoch. time.time()
is ideal for unambiguous time stamping.
If the system additionally runs the network time protocol (NTP) dæmon, one ends up with a pretty solid time base.
Here is the documentation of the time
module.
Upvotes: 41
Reputation: 1837
The time module can be used when you just need the time of a particular record - like lets say you have a seperate table/file for the transactions for each day, then you would just need the time. However the time datatype is usually used to store the time difference between 2 points of time.
This can also be done using datetime, but if we are only dealing with time for a particular day, then time module can be used.
Datetime is used to store a particular data and time for a record. Like in a rental agency. The due date would be a datetime datatype.
Upvotes: 5