我正在尝试使用ADO.NET和PowerShell读取Firefox places.sqlite的一些日期字段。
显然这些字段是在Unix时间。
我正在寻找转换为.Net日期时间或字符串
修改 我想将数据行绑定到WPF GridView。
我需要一种方法在SQL查询中进行转换,或者在将数据行绑定到网格时使用某种方式。
答案 0 :(得分:8)
这样的事情会让你走上正确的道路:
[TimeZone]::CurrentTimeZone.ToLocalTime(([datetime]'1/1/1970').AddSeconds($unix))
答案 1 :(得分:3)
function Convert-UnixTimeToDateTime([int]$UnixTime)
{
(New-Object DateTime(1970, 1, 1, 0, 0, 0, 0, [DateTimeKind]::Utc)).AddSeconds($UnixTime)
}
这将返回一个对象,其中“kind”设置为Utc。然后,如果您想要本地时间,请在结果对象上调用ToLocalTime方法。
答案 2 :(得分:2)
[timezone]::CurrentTimeZone.ToLocalTime(([datetime]'1/1/1970').AddSeconds(1303743289))
答案 3 :(得分:2)
我的问题的解决方案是
SELECT datetime (b.dateAdded / 1000000, 'unixepoch', 'localtime') dateAdded from moz_bookmarks
BTW它部分隐藏在the original documentation中。
另一部分是你必须要知道,你必须将整数除以1000000才能获得秒数。