Index: django/http/__init__.py
===================================================================
--- django/http/__init__.py	(revision 7930)
+++ django/http/__init__.py	(working copy)
@@ -1,5 +1,6 @@
 import os
 from Cookie import SimpleCookie, CookieError
+from datetime import datetime, timedelta
 from pprint import pformat
 from urllib import urlencode
 from urlparse import urljoin
@@ -322,10 +323,16 @@
 
     def set_cookie(self, key, value='', max_age=None, expires=None, path='/',
                    domain=None, secure=False):
+        """Sets a cookie. expires can be a datetime object, a timedelta 
+        object from the current time, or a string in the correct format."""
         self.cookies[key] = value
         if max_age is not None:
             self.cookies[key]['max-age'] = max_age
         if expires is not None:
+            if isinstance(expires, datetime):
+                expires = expires.strftime("%a, %d-%b-%Y %H:%M:%S UTC")
+            elif isinstance(expires, timedelta):
+                expires = datetime.strftime(datetime.utcnow() + expires, "%a, %d-%b-%Y %H:%M:%S UTC")
             self.cookies[key]['expires'] = expires
         if path is not None:
             self.cookies[key]['path'] = path
