我正在尝试使用 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。如何将该值转换为有意义的内容以显示在搜索结果页面上?
638502404046200000
可能是一个 DateTime.Ticks
值:
public static DateTime ParseLuceneDateTimeStamp(string value)
{
var ticks = long.Parse(value);
return new DateTime(ticks);
}