簡體   English   中英

如何將 Windows 64 位時間戳轉換為日期時間?

[英]How to convert windows 64 bit timestamp to datetime?

我需要將 Windows 十六進制 64 位(大端)日期時間轉換為 C# 中可讀的內容嗎?

示例'01cb17701e9c885a'

轉換為"Tue, 29 June 2010 09:47:42 UTC"

任何幫助,將不勝感激。

像你看起來需要解析這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);

使用 DateTime.FromFileTimeUtc
有關詳細信息,請訪問此站點

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM