#!/usr/bin/perl

# epochToIsoDate
# This script converts epoch time (seconds since January 1, 1970) to a date.
# It expects one command-line argument specifying an epoch time.
# It outputs the date corresponding to that epoch time in ISO 8601 format
# To get other formats, edit the printf statement in the script.
# Cameron Hayne (macdev@hayne.net)  April 2006

use warnings;
use strict;

die "Usage: epochToIsoDate time\n" unless scalar(@ARGV) == 1;
my $time = $ARGV[0];
die "Epoch time must be an integer\n" unless $time =~ /^-?\d+$/; 

my ($sec, $min, $hour,
    $day, $month, $year,
    $wday, $yday, $isdst) = localtime($time);
$year += 1900;
$month += 1; # change to range 1..12 instead of 0..11

printf("%04d-%02d-%02d %02d:%02d:%02d\n",
       $year, $month, $day, $hour, $min, $sec);

