in reply to Re^3: Converting POSIX format date/times to epoch seconds
in thread Converting POSIX format date/times to epoch seconds

for those who come here looking for the boot time, here is a program to convert the wmic format boot time to seconds then redisplay it. I cloned the HTTP::Date code then chopped it down to this. also being posted on http://www.perlmonks.org/?node_id=216892

use strict; use Time::Local; sub wmic2time (;$) { my $wmic_time_in=$_[0]; if(!defined $wmic_time_in) { $wmic_time_in=join " ",`wmic os get lastbootuptime 2>&1`; $wmic_time_in=~s/\r\n/ /g; $wmic_time_in=~s/ * / /g; } $wmic_time_in=~s/LastBootUpTime //i; # caller may have remove +d this already but just in case.... my @d = $wmic_time_in =~ /^(\d{4})(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)/x +; # year numerical month day Hour Min Sec return undef unless @d; $d[1]--; # month return eval { my $t = Time::Local::timelocal(reverse @d); $t < 0 ? undef : $t; }; } my $newtime=wmic2time; print "$newtime\n"; print scalar localtime $newtime . "\n";