2017-04-19 150 views
0

在我的C#控制台应用程序项目中,我使用MongoDB.Driver.2.4.3连接到MongoDB 3.2.10。如何使用C#将mongodb BsonDateTime(UTC)转换为当地时间

如何将我的代码中的“playerInBrazil.birthdate”转换为我的本地日期时间值(东部标准时间),该代码被定义为BsonDateTime(我相信这是UTC)

我试图做减法操作(不允许)和DateTime.ToLocalTime方法(),但无法使其工作。

static void Main(string[] args) 
    { 
     DateTime myTimeConvert = DateTime.Now; 
     var client = new MongoClient("mongodb://localhost:27017"); 
     var DB = client.GetDatabase("football"); 

     var players = DB.GetCollection<Player>("players"); 

     var playersInBrazil = players.AsQueryable() 
         .Where(p => p.country == "Brazil"); 
     foreach (var playerInBrazil in playersInBrazil) 
     { 
      Console.Write(playerInBrazil.firstname); 
      Console.Write(" birthdate in UTC time is "); 
      Console.Write(playerInBrazil.birthdate); 
      Console.Write(" and in my local time is "); 
      //myTimeConvert =? 
      Console.WriteLine(myTimeConvert); 

     } 

    } 

    internal class Player 
    { 
     public ObjectId Id { get; set; } 
     public string firstname { get; set; } 
     public BsonDateTime birthdate { get; set; } 
     public string country { get; set; } 
     public double goals { get; set; } 
    } 
} 
+0

更多信息,你的意思是这样myTimeConvert =的DateTimeOffset(playerInBrazil.birthdate)一.ToLocalTime()方法;当我尝试它时告诉我不能像方法一样使用。 – ikask

+0

你可以在'birthdate'上使用'[BsonDateTimeOptions(Kind = DateTimeKind.Local)]'注释,C#驱动程序会为你转换它。 – Veeram

回答

相关问题