如何将INTDATE(sql数据类型)转换为NSDate

时间:2014-01-24 13:53:59

标签: sql objective-c

我有一个名为hello dot sqlite的表。它有一个数据类型为INTDATE的列,它包含值635256000000000000.现在我想将此日期插入到我的核心数据中,所以我必须将它转换为NSData。我试过这个Objective-C and sqlite's DATETIME type

sqlite datetime data type with iphone NSdate?我也跟着这个但是没有得到它。

从服务器获取此表,因此将其保存在本地核心数据中。将此INTDATE值存储到NSDate对象时遇到问题。

但没有奏效。有人知道怎么转换吗?

1 个答案:

答案 0 :(得分:0)

SQLite中没有INTDATE规范这样的东西。根据{{​​3}},

  

INTEGER as Unix Time,自1970-01-01 00:00:00 UTC以来的秒数。

因此,您可以将其转换为:

NSDate *date = [NSDate dateWithTimeIntervalSince1970:number];

如果你将它除以1亿,你提到的数字会导致有效日期。我猜你必须从long long integer开始。但这是一个静音点,因为你引用的数据似乎都是错误的。

也许你正在读错字段。似乎对于你应该首先尝试直接的基本概念存在很多困惑。例如。 “名为hello dot sqlite的表”是非感性的。一个“点sqlite”的东西可能是一个数据库文件,但肯定不是一个表。此外,您希望将日期转换为Objective-C类NSDate,而不是NSData