about summary refs log tree commit homepage
path: root/lib/PublicInbox/View.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/View.pm')
-rw-r--r--lib/PublicInbox/View.pm17
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index b3545a4a..4a8e54aa 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -97,11 +97,14 @@ sub index_entry {
         }
 
         my $ts = $mime->header('X-PI-TS');
-        my $fmt = '%Y-%m-%d %H:%M UTC';
+        unless (defined $ts) {
+                $ts = msg_timestamp($mime);
+        }
+        my $fmt = '%Y-%m-%d %H:%M';
         $ts = POSIX::strftime($fmt, gmtime($ts));
 
         $rv .= "$pfx<b\nid=\"$id\">$subj</b>\n$pfx";
-        $rv .= "- by $from @ $ts - ";
+        $rv .= "- by $from @ $ts UTC - ";
         $rv .= "<a\nid=\"s$midx\"\nhref=\"#s$next\">next</a>";
         if ($prev >= 0) {
                 $rv .= "/<a\nhref=\"#s$prev\">prev</a>";
@@ -583,13 +586,17 @@ sub load_results {
                         Email::MIME->new($str);
                 };
                 unless ($@) {
-                        my $t = eval { str2time($mime->header('Date')) };
-                        defined($t) or $t = 0;
-                        $mime->header_set('X-PI-TS', $t);
+                        $mime->header_set('X-PI-TS', msg_timestamp($mime));
                         push @msgs, $mime;
                 }
         }
         \@msgs;
 }
 
+sub msg_timestamp {
+        my ($mime) = @_;
+        my $ts = eval { str2time($mime->header('Date')) };
+        defined($ts) ? $ts : 0;
+}
+
 1;