我使用记事本打开Safari浏览器的History.plist文件,我发现访问过的URL的编码日期时间是9位+ DOT +一位数。我无法弄清楚如何将其解释为适合的日期时间格式,我希望将其更改为当前日期。
代码
DateTime dt=DateTime.FromOADate(348020617.0);
答案 0 :(得分:3)
来自MSDN文章:
DateTime.FromOADate(d);其中
d
必须是负数之间的值 657435.0至正面2958466.0。
答案 1 :(得分:2)
如果这是UNIX时间戳,那么您可以使用此函数进行转换(借用http://codeclimber.net.nz/archive/2007/07/10/convert-a-unix-timestamp-to-a-.net-datetime.aspx)
static DateTime ConvertFromUnixTimestamp(double timestamp)
{
DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0);
return origin.AddSeconds(timestamp);
}
值得一提的是,你提到的时间戳(348020617.0)转换为美国东部时间下午6:23:37的01/10/81
答案 2 :(得分:0)
您可以制作如下方法:
在使用此方法之后的第一个商店日期(使用此方法为日期长度为8)但可以增加或减少。
private DateTime ConvertToDate(string date)
{
if (date.Length !=8)
{
return ConvertToDate("");
}
int iYear; int.TryParse(date.Substring(0, 4), out iYear);
int iMonth; int.TryParse(date.Substring(4, 2), out iMonth);
int iDay; int.TryParse(date.Substring(6, 2), out iDay);
return new DateTime(iYear, iMonth, iDay);
}