1

我在 firefox 的 places.sqlite 工作,需要使用 C# 将本地 DateTime 转换为 PRTime。PRTime 是“一个 64 位整数,表示自 1970 年 1 月 1 日协调世界时 (UTC) 午夜 (00:00:00) 到日期时间的微秒数。”

4

1 回答 1

2

这可以通过这里的这个小助手类来实现:

    public static class TimeHelper
    {
        // PRTime is Int64 count of microseconds from 1970-01-01-00-00-0000
        static Int64 ToPRTime(DateTime dateTime)
        {
            TimeSpan t = (dateTime - new DateTime(1970, 1, 1));
            return Convert.ToInt64(t.TotalMilliseconds * 1000);
        }

        static DateTime FromPrTime(Int64 prTime)
        {
            var someDate = new System.DateTime(1970, 1, 1, 0, 0, 0, 0);
            var milliSeconds = prTime / 1000;
           return someDate.AddMilliseconds(milliSeconds);
        }
    }
于 2012-07-07T17:17:18.827 回答