> > strtotime( '+1 month', mktime( 0, 0, 0, 1, 1, 2003 )); > > I get back the timestamp for 1/31/2003 and not 2/1/2003. > Are you sure?
Yeah, but I missed something in my above example. If I did this: strtotime( '+1 month GMT', mktime( 0, 0, 0, 1, 1, 2003 )); It came back with 1/31/2003 and not 2/1/2003. Removing the GMT made it work. Your example works as well. In any case, the whole reason I'm delving into this is because strtotime() is exhibiting some odd behavior. Consider the following: (Note: you can see the values of all the variables in the output below) echo 'StatementDueDate: ' . $tmpPremiumArray[($curLayoutArray['Settlement Due Date'])] . ' -- ' . date( "Y-m-{$settlement_day_due} H:i:s", $tmpPremiumArray[($curLayoutArray['Settlement Due Date'])] ) . '<br>'; $tmpSettlementDate = strtotime( '+1 month', $tmpPremiumArray[($curLayoutArray['Settlement Due Date'])] ); echo "tmpSettlementDate: $tmpSettlementDate -- " . date( 'Y-m-d H:i:s', $tmpSettlementDate ) . "<br>\n"; Yelds the following output StatementDueDate: 1053360326 -- 2003-05-20 11:05:26 tmpSettlementDate: 1056038726 -- 2003-06-19 11:05:26 As you can see here, strtotime( '+1 month' ) is adding only 30 days. I am at a total loss to explain why this is the case, especially in light of the working example you provided. Chris -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php