I'm using mongodb C# driver 2.7.3 to access my mongodb server. In my table I have a field created_at
which is in ISODate format (e.g 2017-03-20T16:47:07.911Z). When I tried to convert this field into C# datetime it gives the following error
System.FormatException: 'String was not recognized as a valid DateTime.'
I want my datetime to be in this format 'yyyy-mm-dd hh:mm:ss.fffffff'
Here is my code
string connectionString = "localhost:27017";
string databaseName = "test";
var client = new MongoClient(connectionString);
var database = client.GetDatabase(databaseName);
var collection = database.GetCollection<BsonDocument>("table");
var documents = collection.Find(new BsonDocument()).Limit(10).ToList();
string format = "yyyy-MM-dd HH\\:mm\\:ss.fffffff";
foreach (BsonDocument document in documents)
{
var date = (document["created_at"] == null ? "" : document["created_at"].ToString());
var created_at = DateTime.ParseExact(date.ToString(), format, CultureInfo.InvariantCulture);
Console.WriteLine("date : "+date.ToString());
}
Console.ReadLine();
What am I doing wrong here? How can we format this date into a format I want?