strtotime(\'3rd January,2010\') returns 1230993600 in GMT+5:30.
While according to this, unix timestamp 1230993600 is 3rd January,2009. So it\'s off
When you have a comma after the month, it assumes that 2010 is military time instead of the year. If you want it to interpret 2010 as the year, omit the comma.