[英]FileTime to string
我正在閱讀一些Microsoft FileTime值,存儲為long,我正在嘗試將其轉換為人類可讀日期。
例如,值131733712713359180
將轉換為: Wednesday, June 13, 2018 1:47:51pm
。 這是使用在線工具完成的,這里是: 在線時間轉換器
我在Java中工作得很好,但是當我嘗試用C#做的時候,我錯了一年。 我得到的輸出是: 13/06/0418 13:47:51
。
我用來進行轉換的代碼是:
public string CalculateTimestamp(Int64 epoch)
{
DateTime date = DateTime.Now;
try
{
date = new DateTime(epoch);
DateTime filetime = new DateTime(date.ToFileTime());
result = filetime.ToString();
}
catch (Exception uhoh)
{
result = "failedtoparsetimestamp";
}
return result;
}
在Java中進行轉換時,這是我正在使用的代碼。
public String calculateTimeStamp(long epoch) {
if (epoch == 0) {
return "--";
}
long unixDifference = 11644473600000L;
long timeStamp = (epoch / (10 * 1000)) - unixDifference;
Date date = new Date(timeStamp);
return date.toString();
}
我猜想C#轉換應該更直接,但我無法弄清楚為什么今年是錯誤的。 我已經嘗試了UInt64
和Int64
,兩者都給出相同(錯誤)的結果。
任何建議將不勝感激。
謝謝
這是DateTime
內置的,因此無需進行任何調整:
var date = DateTime.FromFileTimeUtc(131733712713359180);
這將返回2018-06-13 13:47:51
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.