我需要將窗口十六進制64位(大端)日期時間轉換爲C#中可讀的內容?如何將Windows 64位時間戳轉換爲日期時間?
例如'01cb17701e9c885a'
轉換爲"Tue, 29 June 2010 09:47:42 UTC"
任何幫助,將不勝感激。
我需要將窗口十六進制64位(大端)日期時間轉換爲C#中可讀的內容?如何將Windows 64位時間戳轉換爲日期時間?
例如'01cb17701e9c885a'
轉換爲"Tue, 29 June 2010 09:47:42 UTC"
任何幫助,將不勝感激。
使用DateTime.FromFileTimeUtc
對於細節,請訪問:this site
看起來你需要分析這long
爲十六進制,並使用FromFileTime
生成Windows文件時間作爲本地和使用ToUniversalTime
生成UTC等價的。
long number = long.Parse("01cb17701e9c885a", NumberStyles.AllowHexSpecifier);
DateTime date = DateTime.FromFileTime(number).ToUniversalTime(); // 06/29/2010 09:47:42
或更簡單,使用FromFileTimeUtc
作爲馬特提到;
DateTime date = DateTime.FromFileTimeUtc(number); // 06/29/2010 09:47:42
如果你想獲得它作爲一個字符串表示,你可以使用ToString
方法是實例與DateTime
英語爲主文化(如InvariantCulture
)的;
string str = date.ToString("ddd, dd MMMM yyyy HH:mm:ss 'UTC'",
CultureInfo.InvariantCulture);
'FromFileTimeUtc'更容易,更直接。 :) –
@MattJohnson當然,謝謝:)更新。 –
大端日期時間代表什麼?從時代開始它是毫秒嗎? –
例如,02800008FFFFFFFF(字符串)是Windows 64位時間戳結構,我想將其更改爲datetime ex)2015-11-08 –