【发布时间】:2011-12-15 03:36:14
【问题描述】:
我正在读取一个 sqlite 文件,其中日期时间列数据保存为整数值(INTEGER NO NULL)
DateTime dt=reader.GetDateTime(nColDateTime);
但它会发出一个错误,指出返回值的格式不正确。 我在 Datetime 类中尝试了所有其他可用的方法,只找到了
DateTime dt=DateTime.FromBinary(reader.GetInt64(nColDateTime));
有效(因为其他人返回异常)。 但是格式化的日期(如 dt.ToShortDateTime())不正确(即 0042/11/20)我不知道这是什么。 然后我试试这个
long d=DateTime.Now.Ticks-reader.GetInt64(nColDateTime);
DateTime dt=new DateTime(d);
它给了我 1970/05/18
您能帮我获取正确的日期时间吗?
【问题讨论】:
-
好吧,您大概对 GetInt64 的理解是正确的,但您需要知道整数 的含义 是什么。您是否有一些示例值以及它们要表示的日期/时间?
-
感谢您的关注,123958450000000000000,只是一个例子。
-
@Jon,因为他表明从
DateTime.Now.Ticks中减去数字会得到一个接近 1970 年的日期,我们可以假设这是使用 Unix 纪元。 -
@Sesama:这个数字不适合 Int64,所以我认为这不是一个有效值。
-
为你+1,请放轻松,正如我所说的,这只是一个例子。呼呼,我刚刚失去了我的学校基础知识,如果我能回来填补这个,最重要的是,我失去了它,我不会提出这个问题。呼呼,
标签: c# sqlite system.data.sqlite