diff --git a/Doc/library/datetime.rst b/Doc/library/datetime.rst
index 68ae586..5126821 100644
--- a/Doc/library/datetime.rst
+++ b/Doc/library/datetime.rst
@@ -267,12 +267,24 @@
 efficient pickling, and in Boolean contexts, a :class:`timedelta` object is
 considered to be true if and only if it isn't equal to ``timedelta(0)``.
 
+Instance methods:
+
+.. method:: timedelta.total_seconds()
+
+   Return the total number of seconds contained in the duration. Equivalent to
+   ``td.microseconds / 1000000 + td.seconds + td.days * 24 * 3600``.
+
+   .. versionadded:: 3.2
+
+
 Example usage:
 
     >>> from datetime import timedelta
     >>> year = timedelta(days=365)
     >>> another_year = timedelta(weeks=40, days=84, hours=23,
     ...                          minutes=50, seconds=600)  # adds up to 365 days
+    >>> year.total_seconds()
+    31536000.0
     >>> year == another_year
     True
     >>> ten_years = 10 * year
diff --git a/Lib/test/test_datetime.py b/Lib/test/test_datetime.py
index 8bf8420..d85217d 100644
--- a/Lib/test/test_datetime.py
+++ b/Lib/test/test_datetime.py
@@ -261,6 +261,13 @@
         self.assertEqual(td.seconds, seconds)
         self.assertEqual(td.microseconds, us)
 
+    def test_total_seconds(self):
+        td = timedelta(days=365)
+        self.assertEqual(td.total_seconds(), 31536000.0)
+        for total_seconds in [123456.789012, -123456.789012, 0.123456, 0, 1e6]:
+            td = timedelta(seconds=total_seconds)
+            self.assertEqual(td.total_seconds(), total_seconds)
+
     def test_carries(self):
         t1 = timedelta(days=100,
                        weeks=-7,
diff --git a/Misc/NEWS b/Misc/NEWS
index 70e0e1c..c7df776 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -140,6 +140,10 @@
 Library
 -------
 
+- Issue #5788: `datetime.timedelta` objects get a new `total_seconds()`
+  method returning the total number of seconds in the duration.  Patch by
+  Brian Quinlan.
+
 - Issue #7133: SSL objects now support the new buffer API.
 
 - Issue #1488943: difflib.Differ() doesn't always add hints for tab characters
diff --git a/Modules/datetimemodule.c b/Modules/datetimemodule.c
index 8ba3474..764de34 100644
--- a/Modules/datetimemodule.c
+++ b/Modules/datetimemodule.c
@@ -2063,6 +2063,14 @@
 }
 
 static PyObject *
+delta_total_seconds(PyObject *self)
+{
+	return PyFloat_FromDouble(GET_TD_MICROSECONDS(self) / 1000000.0 +
+				  GET_TD_SECONDS(self) +
+				  GET_TD_DAYS(self) * 24.0 * 3600.0);
+}
+
+static PyObject *
 delta_reduce(PyDateTime_Delta* self)
 {
 	return Py_BuildValue("ON", Py_TYPE(self), delta_getstate(self));
@@ -2084,7 +2092,10 @@
 };
 
 static PyMethodDef delta_methods[] = {
-	{"__reduce__", (PyCFunction)delta_reduce,     METH_NOARGS,
+	{"total_seconds", (PyCFunction)delta_total_seconds, METH_NOARGS,
+	 PyDoc_STR("Total seconds in the duration.")},
+
+	{"__reduce__", (PyCFunction)delta_reduce, METH_NOARGS,
 	 PyDoc_STR("__reduce__() -> (cls, state)")},
 
 	{NULL,	NULL},
