首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串的FileTime

字符串的FileTime
EN

Stack Overflow用户
提问于 2018-08-27 21:57:08
回答 1查看 1.9K关注 0票数 3

我正在读取一些微软的FileTime值,存储为长整型,并试图将其转换为人类可读的日期。

例如,值131733712713359180转换为:Wednesday, June 13, 2018 1:47:51pm。这是使用在线工具完成的,此处为:Online time convertor

我已经让它在Java中工作得很好,但是当我尝试在C#中做它的时候,我得到了错误的年份。我得到的输出是:13/06/0418 13:47:51

我用来进行转换的代码是:

代码语言:javascript
复制
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中进行转换时,这是我使用的代码。

代码语言:javascript
复制
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,它们都给出了相同(错误)的结果。

任何建议都将不胜感激。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-27 22:05:43

这是内置在DateTime中的,所以不需要做任何调整:

代码语言:javascript
复制
var date = DateTime.FromFileTimeUtc(131733712713359180);

这将返回2018-06-13 13:47:51

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52040996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档