I.e., how can I show a difference in date (and time) in a more human-readable form, for example in order to show how much time until (or since) the expiration of something (e.g.

warning signs of dating-64

MS chose to keep the bug in order to be compatible with Lotus 123.

But they have not mentioned anything about it in the help files.

use Date:: Calc qw( Today Date_to_Days Add_Delta_YMD Nth_Weekday_of_Month_Year ); ($year,$month,$day) = Today(); $tomorrow = Date_to_Days($year,$month,$day) + 1; $dow = 5; # 5 = Friday $n = 1; # 1 = First of that day of week $meeting_this_month = Date_to_Days( Nth_Weekday_of_Month_Year($year,$month,$dow,$n) ); ($year,$month,$day) = Add_Delta_YMD($year,$month,$day, 0,1,0); $meeting_next_month = Date_to_Days( Nth_Weekday_of_Month_Year($year,$month,$dow,$n) ); if (($tomorrow == $meeting_this_month) || ($tomorrow == $meeting_next_month)) { # Send reminder e-mail!

} Note that you probably shouldn't use this one, because it is much more efficient to iterate through all the dates (as shown in the recipe immediately above) than to construct such an array and then to loop through it.

Also, it is much more space-efficient not to create this array.

sub Delta_Business_Days { my(@date1) = (@_)[0,1,2]; my(@date2) = (@_)[3,4,5]; my($minus,$result,$dow1,$dow2,$diff,$temp); $minus = 0; $result = Delta_Days(@date1,@date2); if ($result !

= 0) { if ($result How can I "normalize" the output of the "Delta_YMDHMS()" (or "Delta_YMD()") function so that it contains only positive values?

= Date_to_Days($year2,$month2,$day2)) if (Date_to_Days($year1,$month1,$day1) == Date_to_Days($year2,$month2,$day2)) if (Date_to_Days($year1,$month1,$day1) !

= Date_to_Days($year2,$month2,$day2)) $cmp = (Date_to_Days($year1,$month1,$day1) is the difference within 12 hours?