Depends who you ask: mysql> select "2010-01-31" + INTERVAL 1 MONTH; +---------------------------------+ | "2010-01-31" + INTERVAL 1 MONTH | +---------------------------------+ | 2010-02-28 | +---------------------------------+ 1 row in set (0.25 sec) php > print date("Y-m-d",strtotime("2010-01-31 +1 month")); 2010-03-03 sqlite> select date('2010-01-31',"+1 month"); 2010-03-03 I’m siding with PHP/sqlite on this one.