Index: query.py
===================================================================
--- query.py	(revision 3999)
+++ query.py	(working copy)
@@ -173,7 +173,11 @@
                 elif name == 'reporter':
                     val = val or 'anonymous'
                 elif name in ['changetime', 'time']:
-                    val = int(val)
+                    # keep the integer-value of datetime fields
+                    result[name+'-int'] = int(val)
+                    # convert the value for display
+                    from trac.util.datefmt import format_datetime
+                    val = format_datetime(val)
                 elif val is None:
                     val = '--'
                 result[name] = val
@@ -401,9 +405,9 @@
             if orig_list:
                 # Mark tickets added or changed since the query was first
                 # executed
-                if int(ticket['time']) > orig_time:
+                if int(ticket['time-int']) > orig_time:
                     ticket['added'] = True
-                elif int(ticket['changetime']) > orig_time:
+                elif int(ticket['changetime-int']) > orig_time:
                     ticket['changed'] = True
             for field, value in ticket.items():
                 if field == self.group:

