Login

JSON encode ISO UTC datetime

Author:
japerk
Posted:
April 13, 2009
Language:
Python
Version:
1.0
Score:
0 (after 0 ratings)

If you want to do your own JSON serialization of datetime objects instead of using DjangoJSONEncoder, use simplejson.dumps(o, default=encode_datetime). The encode_datetime method will convert the datetime object to UTC and output an ISO format string just like the isoutc template filter.

1
2
3
4
5
6
7
import datetime
from dateutil import tz

def encode_datetime(obj):
	if isinstance(obj, datetime.datetime):
		return obj.astimezone(tz.tzutc()).strftime('%Y-%m-%dT%H:%M:%SZ')
	raise TypeError(repr(o) + " is not JSON serializable")

More like this

  1. Template tag - list punctuation for a list of items by shapiromatron 10 months, 2 weeks ago
  2. JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 10 months, 3 weeks ago
  3. Serializer factory with Django Rest Framework by julio 1 year, 5 months ago
  4. Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 6 months ago
  5. Help text hyperlinks by sa2812 1 year, 6 months ago

Comments

Please login first before commenting.