You should use TryParseExact to check the validity of the tempdatetime value, see example:
using System;
using System.Globalization;
public class Program
{
public static void Main()
{
string tempdatetime = "01/04/2014 01:00:00 AM";
string format = "dd/MM/yyyy HH:mm:ss tt";
DateTime dateTime;
if (DateTime.TryParseExact(tempdatetime, format, CultureInfo.InvariantCulture,
DateTimeStyles.None, out dateTime))
{
Console.WriteLine(dateTime);
}
else
{
Console.WriteLine("Not a valid date time");
}
}
}