Hi all, as part of my program i want to jump from 00:00:00 on the first of any given month to 00:00:00 on the first of the next month. i wrote a subroutine to calculate this. the relevent code looks like this
==================================================== my ($sec,$min,Hour,$mday,$mon,$year)=localtime(time); #get first of this month my $StopTime=timelocal(0,0,0,1,$mon,$year); my $TimetoFix=86400*7*12; #approx. 3 months back #get first day of startmonth my ($ssec,$smin,$shour,$sday,$smon,$syear)=localtime($TesmpStartTime); my $TestingTime=timelocal(0,0,0,1,$smon,$syear); while ($TestingTime < $StopTime) { #irrelevent code cut ... #jump to begining of next month my $days=Days_In_Month($dates[4]); my $jump= ($days * 86400); $TestingTime+=$jump; } sub Days_In_Month #this sub returns how many days are in each month { my ($mon) = @_; if ($mon == '0') { return 31; } if ($mon == '1') { return 28; } if ($mon == '2') { return 31; } if ($mon == '3') { return 30; } if ($mon == '4') { return 31; } if ($mon == '5') { return 30; } if ($mon == '6') { return 31; } if ($mon == '7') { return 31; } if ($mon == '8') { return 30; } if ($mon == '9') { return 31; } if ($mon == '10') { return 30; } if ($mon == '11') { return 31; } } ==================================================== the program starts off correctly at $TestingTime = 999291600 (Sep 1 00:00:00 2001) but when i try to jump to the 1001887200 (Oct 1 00:00:00 2001). $TestingTime= 1001883600 (Sep 30 23:00:00 2001) can someone please show me where i went wrong? -- - josh N8MSO 20A8 2FC6 9099 D215 78F4 D005 B9F3 21C4 300C C25E ~. .~ Tk Open Systems =}------------------------------------------------ooO--U--Ooo------------{= - [EMAIL PROTECTED] - tel: +972.58.520.636, http://www.tkos.co.il -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]