2012-07-07 118 views
1

我在firefox的places.sqlite中工作,需要使用C#將本地DateTime轉換爲PRTime。 PRTime是一個64位整數,表示從午夜(00:00:00)1970年1月1日協調世界時(UTC))到日期時間的微秒數。「將日期時間轉換爲PRTime C#

回答

2

這可以用在這裏這個小助手類來實現:

public static class TimeHelper 
    { 
     // PRTime is Int64 count of microseconds from 1970-01-01-00-00-0000 
     static Int64 ToPRTime(DateTime dateTime) 
     { 
      TimeSpan t = (dateTime - new DateTime(1970, 1, 1)); 
      return Convert.ToInt64(t.TotalMilliseconds * 1000); 
     } 

     static DateTime FromPrTime(Int64 prTime) 
     { 
      var someDate = new System.DateTime(1970, 1, 1, 0, 0, 0, 0); 
      var milliSeconds = prTime/1000; 
      return someDate.AddMilliseconds(milliSeconds); 
     } 
    } 
+0

應該是毫秒,不秒。 – 2012-07-07 17:18:51

+0

1秒=(6次10秒)...如果以秒爲單位生成的結果是您想要的結果,則應用計算結果! – 2012-07-07 17:20:32

+0

編輯爲使用微秒。在我使用UTC時間的示例中添加了對PRTime和FromPRTime – 2012-07-07 17:27:21