Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

📚 The CoCalc Library - books, templates and other resources

132923 views
License: OTHER
Kernel: Python 2

This notebook was prepared by Donne Martin. Source and license info is on GitHub.

Dates and Times

  • Basics

  • strftime

  • strptime

  • timedelta

Basics

from datetime import datetime, date, time
year = 2015 month = 1 day = 20 hour = 7 minute = 28 second = 15
dt = datetime(year, month, day, hour, minute, second)
dt.hour, dt.minute, dt.second
(7, 28, 15)

Extract the equivalent date object:

dt.date()
datetime.date(2015, 1, 20)

Extract the equivalent time object:

dt.time()
datetime.time(7, 28, 15)

When aggregating or grouping time series data, it is sometimes useful to replace fields of a series of datetimes such as zeroing out the minute and second fields:

dt.replace(minute=0, second=0)
datetime.datetime(2015, 1, 20, 7, 0)

strftime

Format a datetime string:

dt.strftime('%m/%d/%Y %H:%M')
'01/20/2015 07:28'

strptime

Convert a string into a datetime object:

datetime.strptime('20150120', '%Y%m%d')
datetime.datetime(2015, 1, 20, 0, 0)

timedelta

Get the current datetime:

dt_now = datetime.now()

Subtract two datetime fields to create a timedelta:

delta = dt_now - dt delta
datetime.timedelta(6, 40171, 885211)

Add a datetime and a timedelta to get a new datetime:

dt + delta
datetime.datetime(2015, 1, 26, 18, 37, 46, 885211)