#!/usr/bin/perl -s BEGIN { unshift @INC, "$ENV{'HOME'}/perl", "$ENV{'HOME'}/libp/perl", "$ENV{'HOME'}/lib/perl" } # ctime - convert a Unix time integer into a date string # Steve Kinzler, kinzler@cs.indiana.edu, Jan 00/Jul 06/May 09 # http://www.cs.indiana.edu/~kinzler/home.html#unix $usage = "usage: $0 [ -g | -z ] [ -i | -I | -d ] [ seconds_since_Jan_1_1970 ... ] -g report date in GMT regardless of \$TZ -z report date in EST5EDT if \$TZ is undefined -i output date in 'YYYY-MM-DD HH:MM:SS' format -I output date in 'YYYY-MM-DD HH:MM:SS TZO' format -d output date in 'YYYYMMDD' format\n"; die $usage if $h || grep(/\D/, @ARGV); $ENV{'TZ'} = 'GMT' if $g; $ENV{'TZ'} = 'EST5EDT' if $z && ! $ENV{'TZ'}; use Time::CTime; foreach (@ARGV) { print $i ? &stdtime($_) : $I ? &stdtimet($_) : $d ? &yyyymmdd($_) : ctime($_); } sub stdtime { strftime("%Y-%m-%d %H:%M:%S\n", localtime($_[0])); } sub stdtimet { strftime("%Y-%m-%d %H:%M:%S %Z\n", localtime($_[0])); } sub yyyymmdd { strftime("%Y%m%d\n", localtime($_[0])); }