簡體   English   中英

FileTime到字符串

[英]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#轉換應該更直接,但我無法弄清楚為什么今年是錯誤的。 我已經嘗試了UInt64Int64 ,兩者都給出相同(錯誤)的結果。

任何建議將不勝感激。

謝謝

這是DateTime內置的,因此無需進行任何調整:

var date = DateTime.FromFileTimeUtc(131733712713359180);

這將返回2018-06-13 13:47:51

暫無
暫無

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

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