use Time::Local; @t = split(/[ :]/,scalar(localtime(time))); %mon2num = qw(jan 0 feb 1 mar 2 apr 3 may 4 jun 5 jul 6 aug 7 sep 8 oct 9 nov 10 dec 11); $mon = $mon2num{lc(substr($t[1],0,3))}; print(scalar(localtime(time())),"\n", scalar(localtime(timelocal($t[5],$t[4],$t[3],$t[2],$mon,$t[6]))),"\n");' Mon Oct 29 15:59:06 2018 Mon Oct 29 15:59:06 2018