I am in Seattle, so that would affect the default timezone.
I have tested on Ubuntu 6.10 running in VMWare Fusion 1.0 for Mac.
I get values with either setting datetimes or using the "add" method that make the resulting *.ics files not behave correctly in the Mac iCal program.
Here's a script to show what I'm seeing:
use Date::ICal;
my $di1 = Date::ICal->new(
day => 31,
month => 7,
year => 2007,
hour => 16,
min => 59,
sec => 59
);
print $di1->ical . "\n";
my $di2 = Date::ICal->new(
day => 31,
month => 7,
year => 2007,
hour => 17,
min => 0,
sec => 0
);
print $di2->ical . "\n";
my $di3 = Date::ICal->new(
day => 31,
month => 7,
year => 2007,
hour => 17,
min => 0,
sec => 1
);
print $di3->ical . "\n";
exit 0;