[英]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.