Próbuję odczytać pola daty w Firefox places.sqlite datedase przy użyciu ADO.NET i PowerShell.
Oczywiście te pola są w czasie uniksowym.
Szukam konwersji do datetime lub string .Net
Edytować: Chcę powiązać datarow z WPF GridView.
Potrzebuję albo sposobu na konwersję w zapytaniu SQL, albo w jakiś sposób podczas wiązania danych z siatką.
Odpowiedzi:
8 dla odpowiedzi № 1Coś w tym stylu powinno Cię znaleźć na właściwej drodze:
[TimeZone]::CurrentTimeZone.ToLocalTime(([datetime]"1/1/1970").AddSeconds($unix))
3 dla odpowiedzi № 2
function Convert-UnixTimeToDateTime([int]$UnixTime)
{
(New-Object DateTime(1970, 1, 1, 0, 0, 0, 0, [DateTimeKind]::Utc)).AddSeconds($UnixTime)
}
Zwraca obiekt z „rodzajem” ustawionym na Utc. Następnie, jeśli chcesz czasu lokalnego, wywołaj metodę ToLocalTime na wynikowym obiekcie.
2 dla odpowiedzi nr 3
[timezone]::CurrentTimeZone.ToLocalTime(([datetime]"1/1/1970").AddSeconds(1303743289))
2 dla odpowiedzi № 4
Rozwiązaniem mojego problemu jest
SELECT datetime (b.dateAdded / 1000000, "unixepoch", "localtime") dateAdded from moz_bookmarks
BTW jest częściowo ukryty w oryginalna dokumentacja.
Druga część polega na tym, że musisz dowiedzieć się, że musisz podzielić liczbę całkowitą przez 1000000, aby uzyskać sekundy.