在Firefox中将place.sqlite文件中的日期转换为DateTime - c#

我在将存储浏览器历史记录的文件中找到的日期转换为正常的DateTime时遇到麻烦。

该文件位于:C:\ Users [用户名] \ AppData \ Roaming \ Mozilla \ Firefox \ Profiles [profilename] \ places.sqlite

有问题的表格是:[moz_places]

该列为:[last_visit_date]

我已经尝试过使用unix纪元和webkit格式(例如chrome使用),但是都没有给我期望的结果。

这是我的Unix转换(不起作用):

    public static DateTime FromUnixTime(long unixTime)
    {
        var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
        return epoch.AddSeconds(unixTime);
    }

这是我的Webkit转换代码:(也不适用于这些日期,它适用于chromes Webkit日期)

    public static DateTime ConvertWebkitTimeToDateTime(long ticks)
    {
        //Set up a date at the traditional starting point for unix time.
        DateTime normalDate = new DateTime(1970, 1, 1, 0, 0, 0, 0);
        //Subtract the amount of seconds from 1601 to 1970.
        long convertedTime = (ticks - 11644473600000000);
        //Devide by 1000000 to convert the remaining time to seconds.
        convertedTime = convertedTime / 1000000;
        //Add the seconds we calculated above.
        normalDate = normalDate.AddSeconds(convertedTime);
        //Finally we have the date.
        return normalDate;
    }

那么,Firefox存储这些日期有何处理?这是几个样本日期,应该都在今天或昨天附近。(大约10/17/2013)

1373306583389000

1373306587125000

1373306700392000

任何帮助或文档链接都将非常棒,谢谢。

参考方案

Unix时间戳以秒为单位。
这些值会增加一百万倍,即使用微秒:

> select datetime(1373306583389000 / 1000000, 'unixepoch');
2013-07-08 18:03:03

C#System.DateTime.Now返回在Windows中设置的自定义时间格式 - c#

C#System.DateTime.Now给我带时间的日期,但是无论我在Windows calander中设置的是什么,它都给我格式,即(am)(pm)甚至是(xyz),如何获取标准时间格式(AM / PM)而不管在Windows calander中设置的自定义时间格式? 参考方案 如果使用DateTime作为DateTime类型,则它将自动显示窗口格式。对…

SQLite-无法连接数据库 - c#

背景:1.它是一个使用Sqlite databse的C#应用​​程序2.如果不存在db,则此应用程序将创建一个空的db,并将数据从服务器同步到该数据库。问题:1.有时应用程序突然崩溃。似乎有一些未处理的异常。2.即使我重新启动该应用程序,它也立即崩溃。临时解决方案:1.将数据库复制到其他位置,然后删除原始数据库。2.运行该应用程序。没有崩溃。由于不存在任何数…

SQLIte SUM日期时间 - c#

我有一个包含行和时间值的数据库。我想要该时间值的总和(通常,格式为%H:%M)。我这样使用SUM值:SELECT SUM(n_hores) FROM table; 但只有我得到0.0。我该怎么做?谢谢 参考方案 hh:mm格式的时间值为字符串,因此不能对字符串进行有意义的求和。您应该将这些时间值转换为数字(strftime(%s)返回自1970-01-01以…

SQLite PDO查询未返回任何结果 - php

无论查询范围如何,都不会获得结果PHP:5.3SQLite3:3.6PDO:5.3.3我认为这应该是一个非常简单的过程,但是即使环顾四周,我仍然不知道为什么我得到0个结果。这是我的代码:<?php $sqlite = new PDO('sqlite:/example.db'); $result = $sqlite->query…

Sqlite WHERE子句使用参数 - c#

尝试使用where子句运行特定查询,这就是我所拥有的。//ID is user input could be anything SqliteParameter Identifier = new SqliteParameter ("@ID", ID); string SQLText = "SELECT Email FROM Cli…