#!/usr/bin/perl -w use strict; for(my $h = 0; $h < 24; $h++) { for(my $m = 0; $m < 60; $m++) { for(my $s = 0; $s < 60; $s++) { my @ts = unpack 'C*', sprintf '%02d:%02d:%02d', $h, $m, $s; my $t1 = ($ts[0] - 48) * 3600 * 10 + ($ts[1] - 48) * 3600 + ($ts[3] - 48) * 60 * 10 + ($ts[4] - 48) * 60 + ($ts[6] - 48) * 10 + ($ts[7] - 48); my $t2 = $ts[0] * 3600 * 10 - 48 * 3600 * 10 + $ts[1] * 3600 - 48 * 3600 + $ts[3] * 60 * 10 - 48 * 60 * 10 + $ts[4] * 60 - 48 * 60 + $ts[6] * 10 - 48 * 10 + $ts[7] - 48; if( $t1 != $t2 ) { die "$t1 != $t2"; } my $t3 = $ts[0] * 3600 * 10 + $ts[1] * 3600 + $ts[3] * 60 * 10 + $ts[4] * 60 + $ts[6] * 10 + $ts[7] - (48 * 3600 * 10 + 48 * 3600 + 48 * 60 * 10 + 48 * 60 + 48 * 10 + 48); if( $t1 != $t3 ) { die "$t1 != $t3"; } my $t4 = 60 * (60 * ($ts[0] * 10 + $ts[1]) + $ts[3] * 10 + $ts[4]) + $ts[6] * 10 + $ts[7] - 1933008; if( $t1 != $t4 ) { die "$t1 != $t4"; } } } }