C# Mongo DB未正确存储日期时间
代码是不言自明的。当我从数据库中检索对象时,它的日期时间与我插入的日期时间不同。我想知道如何修理它C# Mongo DB未正确存储日期时间,c#,mongodb,datetime,mongodb-.net-driver,C#,Mongodb,Datetime,Mongodb .net Driver,代码是不言自明的。当我从数据库中检索对象时,它的日期时间与我插入的日期时间不同。我想知道如何修理它 class MyClass { public ObjectId _id; public DateTime date; } MongoClient client = new MongoClient("mongodb://localhost"); MongoServer server = client.GetServer(); MyClass tmp = new MyClass()
class MyClass
{
public ObjectId _id;
public DateTime date;
}
MongoClient client = new MongoClient("mongodb://localhost");
MongoServer server = client.GetServer();
MyClass tmp = new MyClass();
tmp.date = DateTime.Now;
Console.WriteLine(tmp.date); // 11.7. 21:38:18
var coll = server.GetDatabase("test").GetCollection("test");
coll.Insert(tmp);
tmp = server.GetDatabase("test").GetCollection<MyClass>("test").FindOne();
Console.WriteLine(tmp.date); // 11.7. 19:34:46
你在CET时区吗?似乎日期在CEST中被转换为UTCIm,但即使它是由它引起的,我仍然不知道如何修复它。谷歌应该很容易做到这一点。你是否尝试过设置,看看这是否有区别?我们发现Mongo将时间存储为UTC,即使我们将其保存为ET。这不是一件坏事。存储本地时间通常不是一个好主意。一种选择是只在DB中使用UTC。如果您需要将其转换为UI中的其他时间,那么继续,但数据库中的UTC是一件好事。