iOS and SQLite date formatting
First, create table within database:
create table my_date ( date_column DATE);
Insert the date into database (format: YYYY-MM-DD HH:MM:SS)
insert into my_date(date_column) values('2011-01-01 00:00:00');
Retrieve data within iOS and parse date:
sqlite3 *database = nil;
// ...
// connect to SQLite - I assume that database
// ...
static const char *sql = "select date_column from my_date";
sqlite3_prepare_v2(database, sql, -1, &statement, NULL);
while(sqlite3_step(statement) == SQLITE_ROW) {
// get data as text
const unsigned char *cstring_date = sqlite3_column_text(statement, 0);
// convert char * to NSString
NSString *ns_date =
[[NSString alloc] initWithUTF8String: (const char *) cstring_date];
// create data formatter with proper date format
NSDateFormatter *dateFormatter =
[[NSDateFormatter alloc] init];
// note different notation of date
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
// create NSDate object from NSString
NSDate *date = [dateFormatter dateFromString: ns_date];
// retrieve day, month, year from NSDate object
NSDateComponents *components =
[[NSCalendar currentCalendar] components:
NSDayCalendarUnit |
NSMonthCalendarUnit |
NSYearCalendarUnit fromDate:[NSDate date]];
NSInteger day = [components day];
NSInteger month = [components month];
NSInteger year = [components year];
}
June 7th, 2011 in
main entries