Использование SQLite3 на iPhone, чтобы получить полночь (сегодня утром) в качестве метки времени UNIX - PullRequest
2 голосов
/ 11 июля 2010

Хорошо, я действительно знаю, что ДОЛЖЕН быть долгий путь, чтобы сделать это ... однако, то, что я хочу, относительно просто, можно подумать.У меня есть база данных со столбцом метки времени.Я использую iPhone SDK с SQLite3.Я хочу, чтобы SQLite3 получил все записи за сегодня (где отметка времени> = полночь сегодня утром) ..

Что я придумала (это работает), так это следующее.НО должен быть способ лучше.Этот шаг делает слишком много шагов, чтобы быть лучшим способом сделать это.(Я хочу, чтобы SQLite3 вычислял саму метку времени ... поэтому, пожалуйста, не говорите мне использовать NSDate с NSCalendar и т. Д.)

select * from table where timestamp >= strftime('%s','now') - (strftime('%S',datetime('now','localtime')) + (strftime('%M',datetime('now','localtime')) * 60) + (strftime('%H',datetime('now','localtime')) * 3600));

Должен быть более простой способ (один, предпочтительно, гдея не звоню на datetime и strftime 4 раза или больше каждый)

1 Ответ

5 голосов
/ 28 сентября 2010

Вам нужны записи на сегодня или записи на каждый день после сегодняшнего дня?

На сегодня просто выполните:

select * from table where strftime('%Y-%m-%d', timestamp) = strftime('%Y-%m-%d', 'now')

...