連続した日付の表示

ruby

リスト: print_date.rb

#!/usr/bin/env ruby

require 'date'

dt_start = Date.new(2012,4,28)
dt_end   = Date.new(2012,5,4)

d = (dt_end - dt_start).to_i

(0..d).each do |i|
  p (dt_start + i).to_s
end


実行

$ ./print_date.rb 
"2012-04-28"
"2012-04-29"
"2012-04-30"
"2012-05-01"
"2012-05-02"
"2012-05-03"
"2012-05-04"

perl

リスト: print_date.pl

#!/usr/bin/env perl

use DateTime;

$dt_start = DateTime->new(
  year=>2012, month=>4, day=>28
);
$dt_end = DateTime->new(
  year=>2012, month=>5, day=>4
);

$diff = $dt_start->delta_days($dt_end);
$diff_days = $diff->in_units('days');
foreach(0..$diff_days){
  print $dt_start->ymd,"\n";
  $dt_start->add(days=>1);
}


実行

$ ./print_date.pl
2012-04-28
2012-04-29
2012-04-30
2012-05-01
2012-05-02
2012-05-03
2012-05-04

参照したURL:
http://search.cpan.org/~drolsky/DateTime-1.03/lib/DateTime.pm