2017-04-19 212 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

回答

相關問題