using System.Globalization;
public static void Main()
string lineDateTime = "2015-10-31T14:19:27:90";
CultureInfo enUS = new CultureInfo("en-US");
DateTime convertedDateTime;
if (DateTime.TryParseExact(lineDateTime, "yyyy-MM-ddTHH:mm:ss:ff", enUS, DateTimeStyles.AdjustToUniversal, out convertedDateTime))
Console.WriteLine("Converted '{0}' to {1} ({2}).", lineDateTime, convertedDateTime, convertedDateTime.Kind);
convertedDateTime = convertedDateTime + new TimeSpan(0,0,0,0,100);
Console.WriteLine("27.9sec+ 0.1s = {0}", convertedDateTime);
string lineDateTimeValidYetMissingANumber = "2015-9-31T14:19:27:90";
if (DateTime.TryParseExact(lineDateTimeValidYetMissingANumber, "yyyy-MM-ddTHH:mm:ss:ff", enUS, DateTimeStyles.AdjustToUniversal, out convertedDateTime))
Console.WriteLine("Converted '{0}' to {1} ({2}).", lineDateTimeValidYetMissingANumber, convertedDateTime, convertedDateTime.Kind);
Console.WriteLine("'{0}' is not in an acceptable format for yyyy-MM-ddTHH:mm:ss:ff", lineDateTimeValidYetMissingANumber);