diff options
Diffstat (limited to 'date-tz')
-rwxr-xr-x | date-tz | 46 |
1 files changed, 46 insertions, 0 deletions
@@ -0,0 +1,46 @@ +#!/usr/bin/perl -w +# Depends: libtime-modules-perl + +# Copyright (c) 2016 Peter Palfrader <peter@palfrader.org> +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +use strict; +use Time::ParseDate; + +$SIG{'INT'} = 'IGNORE'; # so mutt even shows it if I ^C the pgp stuff. + +my $foundit = 0; +while (<>) { + if (!$foundit && /^Date:(.*)/i) { + $foundit++; + my $s = parsedate($1); # parse it + if ($s) { + # and recreate the date ourselves so we don't inject + # evil stuff to our shell + my $d = localtime($s); + my $date = `date -R -d "$d"`; + print "Local-Date: $date"; + } else { + print "Local-Date: <could not parse Date header>\n"; + } + }; + print; +}; |