2011-04-25 21 views
3

我想使用ADO.NET和PowerShell閱讀Firefox的places.sqlite過期日期字段。我正在尋找Powershell函數將unix時間轉換爲字符串?

顯然這些字段是在Unix時間。

我正在尋找一個轉換到.NET日期時間或字符串

編輯: 我想要的數據行綁定到一個WPF GridView控件。

我需要一種方法來執行SQL查詢內的轉換,或者將數據行綁定到網格。

回答

8

像這樣的東西應該把你在正確的道路上:

[TimeZone]::CurrentTimeZone.ToLocalTime(([datetime]'1/1/1970').AddSeconds($unix)) 
+0

我接受這個答案,因爲它是verbatime問題的答案。我的問題有點不同,同時我找到了解決方案 – 2011-04-25 21:10:50

2
[timezone]::CurrentTimeZone.ToLocalTime(([datetime]'1/1/1970').AddSeconds(1303743289)) 
3
function Convert-UnixTimeToDateTime([int]$UnixTime) 
{ 
    (New-Object DateTime(1970, 1, 1, 0, 0, 0, 0, [DateTimeKind]::Utc)).AddSeconds($UnixTime) 
} 

這將返回一個對象與 「種」 設置爲UTC。然後,如果您想要本地時間,請在結果對象上調用ToLocalTime方法。

2

工作解決我的問題是

SELECT datetime (b.dateAdded/1000000, 'unixepoch', 'localtime') dateAdded from moz_bookmarks 

BTW它部分地隱藏在the original documentation

另一部分是,你必須找出,你必須除以整數1000000獲得秒。

相關問題