2010-07-10 2 views
2

그래,이 일을하는 데 먼 길을 가지기를 바랍니다. 그러나 원하는 것은 비교적 간단합니다. timestamp 열이있는 데이터베이스가 있습니다. 나는 SQLite3와 아이폰 SDK를 사용하고 있습니다. SQLite3 오늘 (모든 시간은 오늘 자정 타임 스탬프 =)에 대한 모든 레코드를 가져오고 싶습니다.iPhone에서 SQLite3을 사용하여 자정 (오늘 아침)을 UNIX 타임 스탬프로 얻으십시오.

나는 (그 작품)와 함께 다음과 같습니다. 하지만 더 좋은 방법이 있어야합니다. 이 작업을 수행하는 가장 좋은 방법은 너무 많은 단계가 필요합니다. (I, 그래서 NSCalendar와 함께있는 NSDate를 사용하는 말하지 마세요 ... sqlite3를 타임 스탬프 자체를 파악하는 등 원하는)이있다

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 회 이상 호출하지 않음)

+0

ㅎ. 날짜 및 시간 계산은 믿을 수 없을 정도로 복잡합니다. 우리에게는 잊을 수있는 많은 도구가 있습니다. 나는 큰 SQL 녀석이 아니지만 나는 당신이 가진 것보다 훨씬 더 단순한 것을 얻을 것으로 기대하지는 않는다. – TechZen

+0

너무 많은 코드를 작성하는 것이 그렇게 잘못되었다는 느낌은 거의 들지 않습니다. – Jann

답변

4

오늘의 레코드 또는 오늘 이후의 매일 레코드를 원하십니까? 오늘

, 그냥 수행

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

관련 문제