app/django/core/serializers/json.py
changeset 323 ff1a9aa48cfd
parent 54 03e267d67478
--- a/app/django/core/serializers/json.py	Tue Oct 14 12:36:55 2008 +0000
+++ b/app/django/core/serializers/json.py	Tue Oct 14 16:00:59 2008 +0000
@@ -3,13 +3,13 @@
 """
 
 import datetime
-from django.utils import simplejson
+from StringIO import StringIO
+
 from django.core.serializers.python import Serializer as PythonSerializer
 from django.core.serializers.python import Deserializer as PythonDeserializer
-try:
-    from cStringIO import StringIO
-except ImportError:
-    from StringIO import StringIO
+from django.utils import datetime_safe
+from django.utils import simplejson
+
 try:
     import decimal
 except ImportError:
@@ -20,7 +20,7 @@
     Convert a queryset to JSON.
     """
     internal_use_only = False
-    
+
     def end_serialization(self):
         self.options.pop('stream', None)
         self.options.pop('fields', None)
@@ -51,9 +51,11 @@
 
     def default(self, o):
         if isinstance(o, datetime.datetime):
-            return o.strftime("%s %s" % (self.DATE_FORMAT, self.TIME_FORMAT))
+            d = datetime_safe.new_datetime(o)
+            return d.strftime("%s %s" % (self.DATE_FORMAT, self.TIME_FORMAT))
         elif isinstance(o, datetime.date):
-            return o.strftime(self.DATE_FORMAT)
+            d = datetime_safe.new_date(o)
+            return d.strftime(self.DATE_FORMAT)
         elif isinstance(o, datetime.time):
             return o.strftime(self.TIME_FORMAT)
         elif isinstance(o, decimal.Decimal):