Umbraco Lucene 日期字段编码转换为 .net DateTime

问题描述 投票:0回答:1

我正在尝试使用 Lucene 来更新 Umbraco 网站以实现网站搜索功能。

我正在尝试显示搜索结果列表并包括上次更新搜索结果的时间。

我在 Examine.Lucene.Search.LuceneSearchResult 上找到了名为“updateDate”的字段。

当我检查该字段时,我得到的值类似于:638502404046200000。

有人知道如何将此字段转换为 .net DateTime 对象吗?

目前我们使用:

    public static string LuceneDateTimeStamp(string adt)
    {
        DateTime dt;
        adt = adt.Replace("-", "");
        if (adt.Length > 8) adt = adt.Substring(0, 8);

        DateTime.TryParseExact(adt, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt);
        return dt.ToString("D");
    }

但是这不起作用并给出 1 月 1 日 0001。如何将该值转换为有意义的内容以显示在搜索结果页面上?

c# datetime umbraco lucene.net examine
1个回答
0
投票

638502404046200000
可能是一个
DateTime.Ticks
值:

public static DateTime ParseLuceneDateTimeStamp(string value)
{
    var ticks = long.Parse(value);
    return new DateTime(ticks);
}
© www.soinside.com 2019 - 2024. All rights reserved.