Adding time to the
mix
W O R K I N G W I T H D AT E S A N D T I M E S I N P Y T H O N
Max Shron
Data Scientist and Author
Dates and Times
WORKING WITH DATES AND TIMES IN PYTHON
Dates and Times
# Import datetime
from datetime import datetime
WORKING WITH DATES AND TIMES IN PYTHON
Dates and Times
# Import datetime
from datetime import datetime
dt = datetime(
WORKING WITH DATES AND TIMES IN PYTHON
Dates and Times
# Import datetime
from datetime import datetime
dt = datetime(2017, 10, 1
WORKING WITH DATES AND TIMES IN PYTHON
Dates and Times
# Import datetime
from datetime import datetime
dt = datetime(2017, 10, 1, 15
WORKING WITH DATES AND TIMES IN PYTHON
Dates and Times
# Import datetime
from datetime import datetime
dt = datetime(2017, 10, 1, 15, 23,
WORKING WITH DATES AND TIMES IN PYTHON
Dates and Times
# Import datetime
from datetime import datetime
dt = datetime(2017, 10, 1, 15, 23, 25)
WORKING WITH DATES AND TIMES IN PYTHON
Dates and Times
# Import datetime
from datetime import datetime
dt = datetime(2017, 10, 1, 15, 23, 25, 500000)
WORKING WITH DATES AND TIMES IN PYTHON
Dates and Times
# Import datetime
from datetime import datetime
dt = datetime(year=2017, month=10, day=1,
hour=15, minute=23, second=25,
microsecond=500000)
WORKING WITH DATES AND TIMES IN PYTHON
Replacing parts of a datetime
print(dt)
2017-10-01 15:23:25.500000
dt_hr = dt.replace(minute=0, second=0, microsecond=0)
print(dt_hr)
2017-10-01 15:00:00
WORKING WITH DATES AND TIMES IN PYTHON
Capital Bikeshare
Capital Bikeshare Station Installed at the Lincoln Memorial by Euan Fisk, licensed CC B 2.0
WORKING WITH DATES AND TIMES IN PYTHON
Adding time to the
mix
W O R K I N G W I T H D AT E S A N D T I M E S I N P Y T H O N
Printing and parsing
datetimes
W O R K I N G W I T H D AT E S A N D T I M E S I N P Y T H O N
Max Shron
Data Scientist and Author
Printing datetimes
# Create datetime
dt = datetime(2017, 12, 30, 15, 19, 13)
print(dt.strftime("%Y-%m-%d"))
2017-12-30
print(dt.strftime("%Y-%m-%d %H:%M:%S"))
2017-12-30 15:19:13
WORKING WITH DATES AND TIMES IN PYTHON
Printing datetimes
print(dt.strftime("%H:%M:%S on %Y/%m/%d/"))
15:19:13 on 2017/12/30
WORKING WITH DATES AND TIMES IN PYTHON
ISO 8601 Format
# ISO 8601 format
print(dt.isoformat())
2017-12-30T15:19:13
WORKING WITH DATES AND TIMES IN PYTHON
Parsing datetimes with strptime
# Import datetime
from datetime import datetime
WORKING WITH DATES AND TIMES IN PYTHON
Parsing datetimes with strptime
# Import datetime
from datetime import datetime
dt = datetime.strptime(
WORKING WITH DATES AND TIMES IN PYTHON
Parsing datetimes with strptime
# Import datetime
from datetime import datetime
dt = datetime.strptime("12/30/2017 15:19:13"
WORKING WITH DATES AND TIMES IN PYTHON
Parsing datetimes with strptime
# Import datetime
from datetime import datetime
dt = datetime.strptime("12/30/2017 15:19:13",
"%m/%d/%Y %H:%M:%S")
WORKING WITH DATES AND TIMES IN PYTHON
Parsing datetimes with strptime
# What did we make?
print(type(dt))
<class 'datetime.datetime'>
# Print out datetime object
print(dt)
2017-12-30 15:19:13
WORKING WITH DATES AND TIMES IN PYTHON
Parsing datetimes with strptime
# Import datetime
from datetime import datetime
# Incorrect format string
dt = datetime.strptime("2017-12-30 15:19:13", "%Y-%m-%d")
ValueError: unconverted data remains: 15:19:13
WORKING WITH DATES AND TIMES IN PYTHON
Parsing datetimes with Python
# A timestamp
ts = 1514665153.0
# Convert to datetime and print
print(datetime.fromtimestamp(ts))
2017-12-30 15:19:13
WORKING WITH DATES AND TIMES IN PYTHON
Printing and parsing
datetimes
W O R K I N G W I T H D AT E S A N D T I M E S I N P Y T H O N
Working with
durations
W O R K I N G W I T H D AT E S A N D T I M E S I N P Y T H O N
Max Shron
Data Scientist and Author
Working with durations
WORKING WITH DATES AND TIMES IN PYTHON
Working with durations
# Create example datetimes
start = datetime(2017, 10, 8, 23, 46, 47)
end = datetime(2017, 10, 9, 0, 10, 57)
# Subtract datetimes to create a timedelta
duration = end - start
WORKING WITH DATES AND TIMES IN PYTHON
Working with durations
# Subtract datetimes to create a timedelta
print(duration.total_seconds())
1450.0
WORKING WITH DATES AND TIMES IN PYTHON
Creating timedeltas
# Import timedelta
from datetime import timedelta
# Create a timedelta
delta1 = timedelta(seconds=1)
WORKING WITH DATES AND TIMES IN PYTHON
Creating timedeltas
print(start)
2017-10-08 23:46:47
# One second later
print(start + delta1)
2017-10-08 23:46:48
WORKING WITH DATES AND TIMES IN PYTHON
Creating timedeltas
# Create a one day and one second timedelta
delta2 = timedelta(days=1, seconds=1)
print(start)
2017-10-08 23:46:47
# One day and one second later
print(start + delta2)
2017-10-09 23:46:48
WORKING WITH DATES AND TIMES IN PYTHON
Negative timedeltas
# Create a negative timedelta of one week
delta3 = timedelta(weeks=-1)
print(start)
2017-10-08 23:46:47
# One week earlier
print(start + delta3)
2017-10-01 23:46:47
WORKING WITH DATES AND TIMES IN PYTHON
Negative timedeltas
# Same, but we'll subtract this time
delta4 = timedelta(weeks=1)
print(start)
2017-10-08 23:46:47
# One week earlier
print(start - delta4)
2017-10-01 23:46:47
WORKING WITH DATES AND TIMES IN PYTHON
Working with
durations
W O R K I N G W I T H D AT E S A N D T I M E S I N P Y T H O N