2

私の iPhone アプリでは、過去のレコードを照会したいと考えていました。"task_dateTime" という名前の日時フィールドがあります。使用する場合は、タスクから task_dateTime を選択します。結果は次のようになります。2012 年 4 月 26 日 16:32 2012 年 4 月 27 日 16:38 2012 年 4 月 29 日 05:32

過去のレコードを照会するにはどうすればよいですか。「task_dateTime」フィールドと現在の時刻を比較したかったということです。

4

3 に答える 3

3

試してみてくださいselect task_dateTime from tasks where task_dataTime < CURRENT_TIME;

于 2012-04-27T05:21:26.547 に答える
1

現在の日付の場合: NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [フォーマッタ setDateFormat:@"MM-dd-yyyy"]; NSString *dateString=[フォーマッタ stringFromDate:[NSDate 日付]];

[current_date setText:dateString]; //current_date は TextBox の名前になります...

次に、2 つの文字列を比較します...

文字列への isequal による

于 2012-04-27T05:56:49.147 に答える
1

where日付ロジックを句に入れることができるSQLite日付ロジックを探していると思います。その場合は、こちらで説明されているように、SQLite には適切な日付/時刻データ型さえないことに注意してください。明らかに、NSDateFormatter を使用して、Objective C に戻ったら文字列の変換を行うことができますが、SQL 句に日付ロジックが必要な場合は、 SQLitewhereで概説されている時間文字列の形式に関する SQLite のガイダンスに実際に準拠する必要があります。日時関数

人間が読める形式の日付が必要な場合は、「YYYY-MM-DD HH:MM:SS」形式などを使用できます。いくつかの例については、以下を参照してください。NSDateFormatter を使用してこれを取得し、NSDate に変換できます。NSDate から、UI に必要な形式で日付文字列を作成できます。

アップデート:

サンプル SQL を次に示します。

create table datetest (dt datetime);

insert into datetest values (datetime('now','-1 day'));
insert into datetest values (datetime('now'));
insert into datetest values (datetime('now','+1 day'));

select * from datetest;

select * from datetest where dt < datetime('now');

最初の select ステートメントは、3 つの行すべてを取得します。2 番目は、そのうちの 2 つだけを返します。

于 2012-04-27T06:18:43.140 に答える