Issue #23888: Handle fractional time in cookie expiry. Patch by ssh.
diff --git a/Lib/http/cookiejar.py b/Lib/http/cookiejar.py
index bfc6ae9..92ead53 100644
--- a/Lib/http/cookiejar.py
+++ b/Lib/http/cookiejar.py
@@ -758,7 +758,7 @@
                  ):
 
         if version is not None: version = int(version)
-        if expires is not None: expires = int(expires)
+        if expires is not None: expires = int(float(expires))
         if port is None and port_specified is True:
             raise ValueError("if port is None, port_specified must be false")
 
diff --git a/Lib/test/test_http_cookiejar.py b/Lib/test/test_http_cookiejar.py
index e9f0356..50260ff 100644
--- a/Lib/test/test_http_cookiejar.py
+++ b/Lib/test/test_http_cookiejar.py
@@ -566,6 +566,15 @@
         self.assertEqual(len(c), 1)
         self.assertIn('spam="bar"', h)
 
+        # test if fractional expiry is accepted
+        cookie  = Cookie(0, "name", "value",
+                         None, False, "www.python.org",
+                         True, False, "/",
+                         False, False, "1444312383.018307",
+                         False, None, None,
+                         {})
+        self.assertEqual(cookie.expires, 1444312383)
+
         # XXX RFC 2965 expiry rules (some apply to V0 too)
 
     def test_default_path(self):
diff --git a/Misc/NEWS b/Misc/NEWS
index f3348c1..822184b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -66,6 +66,8 @@
 Library
 -------
 
+- Issue #23888: Handle fractional time in cookie expiry. Patch by ssh.
+
 - Issue #23652: Make it possible to compile the select module against the
   libc headers from the Linux Standard Base, which do not include some
   EPOLL macros.  Patch by Matt Frank.