2010-02-12 17 views
5

Wie konvertiert man von NSString zu NSDate ?Wie konvertiere ich von NSString zu NSDate?

es in yyyy-MM-dd HH sein muss: mm: ss Dieses Format, wenn es von NSString umwandelt NSDate Format

+0

Dies ist ein Duplikat von http://stackoverflow.com/questions/1348965/how-to-read-a-nsdate-in-from-a-string –

Antwort

11

Verwenden NSDateFormatter des dateFromString:

NSString *dateStr = @"20100212"; 

// 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:@"YYYY-MM-dd HH:mm:ss"]; 
dateStr = [dateFormat stringFromDate:date]; 
[dateFormat release]; 
0

hat diese NSString Erweiterung dafür.

// Simple as this. 
date = dateString.dateValue; 

Dank NSDataDetector, erkennt es eine ganze Menge von Format.

// Tested in GMT+1 (Hungary). 
@"2014-01-16" dateValue is <2014-01-16 11:00:00 +0000> 
@"2014.01.16" dateValue is <2014-01-16 11:00:00 +0000> 
@"2014/01/16" dateValue is <2014-01-16 11:00:00 +0000> 
@"2014 Jan 16" dateValue is <2014-01-16 11:00:00 +0000> 
@"2014 Jan 16th" dateValue is <2014-01-16 11:00:00 +0000> 
@"20140116" dateValue is <2014-01-16 11:00:00 +0000> 
@"01-16-2014" dateValue is <2014-01-16 11:00:00 +0000> 
@"01.16.2014" dateValue is <2014-01-16 11:00:00 +0000> 
@"01/16/2014" dateValue is <2014-01-16 11:00:00 +0000> 
@"16 January 2014" dateValue is <2014-01-16 11:00:00 +0000> 
@"01-16-2014 17:05:05" dateValue is <2014-01-16 16:05:05 +0000> 
@"01-16-2014 T 17:05:05 UTC" dateValue is <2014-01-16 17:05:05 +0000> 
@"17:05, 1 January 2014 (UTC)" dateValue is <2014-01-01 16:05:00 +0000> 

Teil eppz!kit, die Kategorie von NSString+EPPZKit.h GitHub greifen.