1#!/usr/bin/perl 2use strict; 3use warnings; 4 5use Time::Moment; 6 7my $tm = Time::Moment->now; 8 9sub output { 10 my ($type, $basic, $extended) = @_; 11 12 print "\nCombinations of $type date and time of day:\n"; 13 14 print "\nBasic format: Example:\n"; 15 foreach my $format (@$basic) { 16 printf "%-22s %s\n", $format, $tm->strftime($format); 17 } 18 19 print "\nExtended format: Example:\n"; 20 foreach my $format (@$extended) { 21 printf "%-22s %s\n", $format, $tm->strftime($format); 22 } 23} 24 25{ 26 my @basic = qw( 27 %Y%m%dT%H%M%S%z 28 %Y%m%dT%H%M%S%f%z 29 %Y%m%dT%H%M%z 30 ); 31 my @extended = qw( 32 %Y-%m-%dT%H:%M:%S%Z 33 %Y-%m-%dT%H:%M:%S%f%Z 34 %Y-%m-%dT%H:%M%Z 35 ); 36 output('calendar', \@basic, \@extended); 37} 38 39{ 40 my @basic = qw( 41 %Y%jT%H%M%S%z 42 %Y%jT%H%M%S%f%z 43 %Y%jT%H%M%z 44 ); 45 my @extended = qw( 46 %Y-%jT%H:%M:%S%Z 47 %Y-%jT%H:%M:%S%f%Z 48 %Y-%jT%H:%M%Z 49 ); 50 output('ordinal', \@basic, \@extended); 51} 52 53{ 54 my @basic = qw( 55 %GW%V%uT%H%M%S%z 56 %GW%V%uT%H%M%S%f%z 57 %GW%V%uT%H%M%z 58 ); 59 my @extended = qw( 60 %G-W%V-%uT%H:%M:%S%Z 61 %G-W%V-%uT%H:%M:%S%f%Z 62 %G-W%V-%uT%H:%M%Z 63 ); 64 output('week', \@basic, \@extended); 65} 66