菜鸟教程小白 发表于 2022-12-13 12:59:46

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(@&#34;Query: %@&#34;, 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]
查看完整版本: ios - NSDate 和 SQLite3