#!/usr/bin/perl use strict; use warnings; use DateTime; #InputFormat: JJJJ.MM.DD-HH:MM:SS my $date=shift(@ARGV) // '2005.02.25-00:00:00'; my @date=$date=~/^\s*(\d{,4})\.(\d{,2})\.(\d{,2})(?:-(\d{,2}):(\d{,2}):(\d{,2}))$/; push(@date,0)while(@date<6); $date[0]+=1900 if(length($date[0])<3); $date[1]=1 if($date[1]<1); $date[2]=1 if($date[2]<1); my $past = DateTime->new( year => shift(@date), month => shift(@date), day => shift(@date), hour => shift(@date), minute => shift(@date), time_zone => 'Europe/Berlin', ); my $jetzt = DateTime->now(); my $delta = $jetzt->subtract_datetime_absolute($past); print $delta->in_units( 'seconds' );