I\'m using c#, and if I do
DateTime.ParseExact(\"4/4/2010 4:20:00 PM\", \"M\'/\'d\'/\'yyyy H\':\'mm\':\'ss\' \'tt\", null)
The return value
You need to use a lowercase "h" for the hour argument in the format string. The uppercase "H" represents 24-hour time, so "4" is recognized as 4 AM (since "16" would be 4 PM).
DateTime.ParseExact("4/4/2010 4:20:00 PM", "M/d/yyyy h:mm:ss:tt", null)