1

私はFirefoxのplaces.sqliteで作業しており、C#を使用してローカルのDateTimeをPRTimeに変換する必要があります。PRTime は、「1970 年 1 月 1 日の協定世界時 (UTC) の午前 0 時 (00:00:00) から日時までのマイクロ秒数を表す 64 ビット整数」です。

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 に答える