perl - Determine time elapsed since last timestamp -
i write file timestamp , able determine if current time < 1 min timestamp.
using:
open $fh, '>', '~/.time_from_run'; $timestamp = localtime(time); print $fh $timestamp; close $fh; prints out string. best way this?
the easiest approach write output time() rather localtime() (incidentally, localtime(time) pointless - if omit parameter localtime(), use time() default). give number of seconds since start of 1970 (which big number - 1503061737). can read number , compare current value of time().
the (slight) downside approach numbers time() aren't understandable humans. if want read , understand values in .time_from_run compromise , write timestamp in understood format (iso-8601 obvious choice.
use time::piece; open $fh, '>', '~/.time_from_run' or die $!; print $fh localtime->datatime; you can read , compare time this:
use time::piece; use time::seconds; open $fh, '<', '~/.time_from_run' or die !$; chomp(my $then_str) = <$fh>; $then = time::piece->strptime('%y%m%dt%h:%m:%s', $then_str); if (localtime - $then < one_minute) { print "elapsed time less minute\n"; }
Comments
Post a Comment