ios - NSDate 和 SQLite3
<p><p>我的应用遇到了一个非常烦人的问题。
让我们在名为“daily”的表中有一个 sqlite3 数据库和一个 datetime 列。</p>
<pre><code>- (BOOL)eatQuantity:(NSNumber *)quantity date:(NSDate *)date
{
User *usr = ;
BOOL ret;
sqlite3 *db;
NSDateFormatter *dateFormatter = [ init];
;
NSString *strDate = ;
;
NSString *query = ;
NSLog(@"Query: %@", query);
</code></pre>
<p>当我从 UIDatePicker 传递 NSDate 对象调用此方法时,一些用户在使用 NSDate 时遇到了奇怪的行为,他们将其记录在控制台上:</p>
<p>查询:INSERT INTO daily (id_user, id_food, quantity, date) VALUES (1, 1010, 130.000000, '2011-12-21 01:20:09 m.')</p>
<p>但是 sqlite3 无法存储日期是这样一种格式,例如以“m”结尾的格式。字符串。由于 WHERE 子句中的日期为空,用户无法查看任何记录。</p>
<p>所以那个“m”在哪里。来自?这是什么意思?我该如何解决这个问题?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>不要使用 NSDateFormatter 它会大大降低您的应用程序的速度。 </p>
<p>您应该使用 unix 时间戳 (1970)。
像这样 <code>sqlite3_bind_double(statement, index, );</code></p>
<p>检索:</p>
<pre><code>;
</code></pre></p>
<p style="font-size: 20px;">关于ios - NSDate 和 SQLite3,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/10055540/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/10055540/
</a>
</p>
页:
[1]