summaryrefslogtreecommitdiff
path: root/unixtime.pl
blob: f47cf9f486c948cc5c97211cf393abd8c04012e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/perl
use POSIX qw( strftime );
use Time::HiRes qw( gettimeofday );

if (defined $ARGV[0]) {
    if ($ARGV[1] eq "ms") {
        #Convert from timestamp in milliseconds to date
        $seconds = substr $ARGV[0], 0, 10;
        $milliseconds = substr $ARGV[0], 10, 3;
        $date =  strftime('%a %b %e %H:%M:%S:' . $milliseconds . ' %Z %Y', localtime( $seconds ) ) . "\n";
        print $date;
    } elsif ($ARGV[0] eq "ms") {
        #Print current millisecond unix timestamp
        ($seconds, $microseconds) = gettimeofday;
        $milliseconds = substr $microseconds, 0, 3;
        print $seconds . $milliseconds . "\n";
    } else {
        #Convert standard unix timestamp to date
        print strftime('%a %b %e %H:%M:%S %Z %Y', localtime( $ARGV[0] ) ) . "\n";
    }
} else {
    #Print current standard unix timestamp
    print time . "\n";
}