use django-timezones like this:
class City(models.Model): name = models.CharField(u City', max_length=30) timezone = TimeZoneField(u 'timezone') def now(self): return datetime.now(self.timezone).replace(tzinfo=None)
And then, knowing the current time in the city, you need to carry out any calculations — instead of just datetime.now() to use something like self.city.now().
All the extra bells and whistles of django-timezones seem not very useful not figured out how to use them can — there the devil is in the details, as usual. Additional calculations can be performed using the standard datetime or (and) third-party dateutil.