#!/usr/bin/perl use strict; use warnings; print "Feed me with a date and time, e.x.: 2004 10 12 17 55 13:\n"; my @input = ; my @date_list = map { split ' ' } @input; my $year = $date_list[0]; my $mon = $date_list[1]; my $day = $date_list[2]; my $hour = $date_list[3]; my $min = $date_list[4]; my $sec = $date_list[5]; my @months = ( "28", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31", ); my $leapyear = 0; my $leapyear_check = 0; my $temp_year = $year; while($temp_year >= 1970) { if ($temp_year % 4 == 0) { $leapyear_check = 1; } elsif ($temp_year %400 == 0) { $leapyear_check = 1; } else { $leapyear_check = 0; } $leapyear++ if ($leapyear_check == 1); $temp_year--; } my $temp_mon = $mon -2; #voor de array index... my $months_total; for(my $i = 0; $i <= $temp_mon; $i++) { $months_total += $months[$i]; } my $years_total = 365 * ($year - 1970) + $leapyear; my $days_total = $day; my $hours_total = $hour * 60 * 60; my $min_total = $min * 60; my $total_days = $years_total + $months_total + $days_total; my $unix_timestamp = ($total_days * 86400) + ($hours_total + $min_total + $sec); print "$unix_timestamp\n";