diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/PublicInbox/MsgTime.pm | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/PublicInbox/MsgTime.pm b/lib/PublicInbox/MsgTime.pm index 479aaa4e..9f432644 100644 --- a/lib/PublicInbox/MsgTime.pm +++ b/lib/PublicInbox/MsgTime.pm @@ -38,7 +38,7 @@ sub str2date_zone ($) { if ($date =~ /(?:[A-Za-z]+,?\s+)? # day-of-week ([0-9]+),?\s+ # dd ([A-Za-z]+)\s+ # mon - ([0-9]{2,})\s+ # YYYY or YY (or YYY :P) + ([0-9]{2,4})\s+ # YYYY or YY (or YYY :P) ([0-9]+)[:\.] # HH: ((?:[0-9]{2})|(?:\s?[0-9])) # MM (?:[:\.]((?:[0-9]{2})|(?:\s?[0-9])))? # :SS @@ -67,6 +67,10 @@ sub str2date_zone ($) { $ts = timegm($ss // 0, $mm, $hh, $dd, $mon, $yyyy); + # 4-digit dates in non-spam from 1900s and 1910s exist in + # lore archives + return if $ts < 0; + # Compute the time offset from [+-]HHMM $tz //= 0; my ($tz_hh, $tz_mm); |