Q: What does this code return? date('Y-m-d',strtotime('00-00-00'));

A: 1999-11-30 B: 0001-01-01 C: 2001-01-01

The correct answer is A: 1999-11-30.

You'll find the reasoning behind this result as a comment on this bug report.

There is no bug here, 00-00-00 means 2000-00-00, which is 1999-12-00, which is 1999-11-30. No bug, perfectly normal.