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
The problem is the ,
in the date string. It seems to separate date from time elements in your string, as
echo date('Y-m-d H:i:s', strtotime('3rd January, 2010'));
returns
2009-01-03 20:10:00
whereas
echo date('Y-m-d H:i:s', strtotime('3rd January 2010'));
(,
removed) returns the correct date:
2010-01-03 00:00:00