estoy compartiendo aquí sólo las cosas básicas en relación con el formato de fecha para guardar y recuperar los datos para su presentación. Si tiene algún problema con este fragmento de código, entonces compartiré el código completo que utilicé para mi proyecto.
Al guardar sus datos, vincular a su valor de fecha en la instrucción SQL como la siguiente manera:
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *dateString=[dateFormat stringFromDate:[NSDate date]];
sqlite3_bind_text(saveStmt, 1, [dateString UTF8String] , -1, SQLITE_TRANSIENT);
y cuando se recuperan datos que tiene que escribir el código:
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *myDate =[dateFormat dateFromString:[NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 1)]];
ahora tiene una variable myDate de tipo NSDate que puede procesar a su manera:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd-MM-yyyy hh:mm:ss a"];
NSLog(@"My Date was : %@", [formatter stringFromDate:myDate]);
Debe tener que recordar tres cosas:
- En su fecha de SQLite tipo de campo debe ser DATETIME
- formato de fecha debe ser el mismo cuando se almacenan y cuando se recuperan
- Ahora se puede mostrar en su propio camino, pero siguiendo el formato. Debajo del formato se dan los detalles.
Formato:
'dd' = Day 01-31
'MM' = Month 01-12
'yyyy' = Year 2000
'HH' = Hour in 24 hour
'hh' = Hour in 12 hour
'mm' = Minute 00-59
'ss' = Second 00-59
'a' = AM/PM
timeIntervalSince1970 funciona para mí – amrox
De hecho, esta es la asignación correcta pero tenga en cuenta que SQLite no impone una restricción sobre los tipos que llevará a cabo, pero utiliza tipos simplemente como sugerencias. – wisequark