Shi*_*ner 4 c# datetime-format mongodb
我正在使用C#驱动程序将文档插入MongoDB集合,当我调试应用程序时,其中一个字段类型与DateTime我在"FrameTimeStamp"字段中看到服务器时间我将传递给Mongo,这是我的代码:
FrameDocument frameDoc = new FrameDocument();
frameDoc.Frame = imageBA;
frameDoc.EventCodeId = 1;
frameDoc.SesionId = 1;
frameDoc.FrameTimeStamp = DateTime.Now;
frameDoc.ServerUserId = (int)toMongoDt.Rows[0]["ServerUserId"];
frameDoc.TraderId = (int)toMongoDt.Rows[0]["TraderId"];
frameDoc.ActivePick = (int)toMongoDt.Rows[0]["ActivePick"];
frameDoc.TraderName = (string)toMongoDt.Rows[0]["TraderName"];
frameDoc.ServerUserName = (string)toMongoDt.Rows[0]["ServerUserName"];
var mongoCon = "mongodb://127.0.0.1";
MongoClient client = new MongoClient(mongoCon);
var db = client.GetDatabase("Video");
var frameCollection = db.GetCollection<FrameDocument>("Frame");
frameCollection.InsertOne(frameDoc);
Run Code Online (Sandbox Code Playgroud)
在shell中,当我读取数据时,我会看到以下格式: 2016-08-14T06:10:33.295Z并且时间不是服务器时间,它的UTC,我如何强制mongo将DateTime写为我通过了,?
pro*_*r79 14
MongoDB以UTC格式存储所有DateTime.您提供的任何本地时间在存储在数据库中时都会转换为UTC.建议的方法是在将DateTime值存储到数据库之前始终将其自身转换为UTC,这样您就可以完全控制它.您也可以告诉C#驱动程序您想在LocalTime中工作,如下所示:
[BsonDateTimeOptions(Kind = DateTimeKind.Local)]
public DateTime Date
{ get; set; }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11347 次 |
最近记录: |