/ / A Funkcja Powershell do konwersji czasu unix na łańcuch? - datetime, powershell, ado.net, sqlite3, unix-timestamp

Funkcja Powershell do konwersji czasu unixowego na ciąg? - datetime, powershell, ado.net, sqlite3, unix-timestamp

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 № 1

Coś 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.