我试图使用C#
读取IE cookie文件我很困惑如何阅读文件中的日期时间。
他们将日期时间分为2行,如下所示
481435648
30298937
或
1100239232
30151908
我已尝试将所有方法转换为可读日期时间,但我失败了。我读过有关FileTime,纳秒和刻度的文章,但这些都没有让我走上正确的道路。
答案 0 :(得分:1)
根据this post,只有一个字段用于到期日期(第二个字段可能是cookie值?)并且要阅读它,您可以使用
DateTime expires = new DateTime(1970, 1,1).AddSeconds(secondsFromCookie);
Console.WriteLine(expires);
击> <击> 撞击>
以上内容仅适用于netscape cookie文件格式。 对于IE使用
int eLow = 481435648;
int eHigh = 30298937;
double seconds = 1e-7*(eHigh*Math.Pow(2, 32) + eLow) - 11644473600;
DateTime expires = new DateTime(1970, 1, 1).AddSeconds(seconds);
答案 1 :(得分:0)
我最终得到了这个:
long leastSignificant = 481435648;
long mostSignificant = 30298937;
var fileTime = (mostSignificant << 32) + leastSignificant;
DateTime cookieTime = DateTime.FromFileTimeUtc(fileTime);