¿Cómo es posible convertir una cadena a NSDate
en iOS?Convirtiendo una cadena a NSDate
63
A
Respuesta
184
NSString *dateStr = @"20100223";
// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyyMMdd"];
NSDate *date = [dateFormat dateFromString:dateStr];
// Convert date object to desired output format
[dateFormat setDateFormat:@"EEEE MMMM d, YYYY"];
dateStr = [dateFormat stringFromDate:date];
[dateFormat release];
Espero que esto te ayude.
8
Querrá echar un vistazo al NSDateFormatter. Determine el formato de la cadena de fecha y luego use dateFromString:
para convertir la cadena en un objeto NSDate.
4
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd/MM/YYYY"];
NSDate *date = [dateFormat dateFromString:dateStr];
list = [self getYear:date];
- (NSMutableArray *)getYear:(NSDate*)date
{
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:date];
int year = [components year];
int month = [components month];
int day = [components day];
NSLog(@"%d",year);
NSMutableDictionary *dateDict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:[NSString stringWithFormat:@"%d", day], @"day", [NSString stringWithFormat:@"%d", month], @"month", [NSString stringWithFormat:@"%d", year], @"year", nil];
return dateDict;
}
+2
'YYYY' casi nunca está bien. – vikingosegundo
0
+(NSDate*)str2date:(NSString*)dateStr{
if ([dateStr isKindOfClass:[NSDate class]]) {
return (NSDate*)dateStr;
}
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormat dateFromString:dateStr];
return date;
}
1
Un simple approach incluso si tiene SQLite DB:
// NSTimeInterval is basically typedef of double so you can receive it as double also.
NSTimeInterval *current = [[NSDate date] timeIntervalSince1970];
[DB addToDB:current];
//retrieve the date from DB
NSDate *retrievedDateItem = [[NSDate alloc] initWithTimeIntervalSince1970:[getDBValueAsDouble]]; //convert it from double (NSTimeInterval) to NSDate
// Set the style
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeStyle:NSDateFormatterMediumStyle];
// Converted to string
NSString *convertedDate = [dateFormatter stringFromDate:retrievedDateItem];
La salida para este ejemplo:
Ago 3, 2015, 12:27:50 PM
0
Mi versión de trabajo en Swift
func dateFor(timeStamp: String) -> NSDate
{
let formater = NSDateFormatter()
formater.dateFormat = "HH:mm:ss:SSS - MMM dd, yyyy"
return formater.dateFromString(timeStamp)!
}
func timeStampFor(date: NSDate) -> String
{
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "HH:mm:ss:SSS - MMM dd, yyyy"
return dateFormatter.stringFromDate(date)
}
Cuestiones relacionadas
- 1. Convirtiendo un time_t al objeto NSDate?
- 2. Cadena relativa de NSDate
- 3. Descripción Cadena de NSDate
- 4. ¿Convertir NSDate a una cadena de formato largo y viceversa?
- 5. crear un NSDate de una cadena
- 6. Convirtiendo una marca de tiempo de UNIX a NSdate usando la zona horaria local
- 7. convirtiendo una Cadena en tipo UTCTime
- 8. Convirtiendo de cadena de caracteres a una matriz de uint8_t?
- 9. Convirtiendo una cadena a un nombre de clase
- 10. Convirtiendo un byte a una cadena binaria en C#
- 11. convirtiendo cadena de estilo c a cadena de estilo C++
- 12. Convirtiendo argv en una sola cadena
- 13. NSString a NSDate
- 14. NSTimeInterval a NSDate
- 15. Convertir NSDate a NSString
- 16. ¿Convertir una descripción de NSDate en un NSDate?
- 17. Convirtiendo una cadena en una lista de palabras?
- 18. Convirtiendo una cadena en una matriz de caracteres
- 19. ¿Cómo agregar horas a un NSDate?
- 20. F #: Convirtiendo una cadena en una matriz de bytes
- 21. Convirtiendo cadena larga de binario a hex C#
- 22. Convirtiendo cadena de tiempo utc a objeto datetime
- 23. Convirtiendo matriz de bytes a cadena y viceversa en C#
- 24. iPhone SDK NSString A NSDate
- 25. Convertir milisegundos a NSDate
- 26. En el diccionario, convirtiendo el valor de cadena a entero
- 27. convirtiendo un nombre de variable en una cadena en C++
- 28. Convirtiendo un int a una dirección IP
- 29. Convirtiendo una FFT a un spectogram
- 30. Convirtiendo QVariant a QStringList
encontró un artículo que explica todos los valores de formato aquí: http://www.alexcurylo.com/blog/2009/01/29/nsdateformatter-formatting/ – mtmurdock
También tenga en cuenta el listado de unicode.org: http: // www.unicode.org/reports/tr35/tr35-19.html#Date_Format_Patterns –
¿Sabes por qué funciona la letra pequeña aaaa y dd y la letra mayúscula MM funciona ...? –