2
Ich habe eine Zeichenfolge des Formats @ "3. Januar 2011 04.55 Uhr". Kann mir jemand bitte sagen, dass ich die obige Zeichenfolge mit NSDateFormatter in NSDate konvertieren soll?NSDate von NSString
Ich habe eine Zeichenfolge des Formats @ "3. Januar 2011 04.55 Uhr". Kann mir jemand bitte sagen, dass ich die obige Zeichenfolge mit NSDateFormatter in NSDate konvertieren soll?NSDate von NSString
Hier ist, wie ich es tun würde:
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"MMM d, yyyy h:mm a"];
NSString *strDate = @"Jan 3rd, 2011 4:55 am";
removeUnwantedCharactersFromDateString(&strDate);
NSDate *date = [format dateFromString:strDate];
[format release];
Und die removeUnwantedCharactersFromDateString
Funktion (Ich bin der König von pointlessly langen Namen :))
void removeUnwantedCharactersFromDateString(NSString **str)
{
NSString *str1 = *str;
NSRange seekrange = NSMakeRange(5, [str1 rangeOfString:@","].location - 5);
NSRange range = [str1 rangeOfString:@"st" options:NSCaseInsensitiveSearch range:seekrange];
if (range.location != NSNotFound)
goto END;
range = [str1 rangeOfString:@"nd" options:NSCaseInsensitiveSearch range:seekrange];
if (range.location != NSNotFound)
goto END;
range = [str1 rangeOfString:@"rd" options:NSCaseInsensitiveSearch range:seekrange];
if (range.location != NSNotFound)
goto END;
range = [str1 rangeOfString:@"th" options:NSCaseInsensitiveSearch range:seekrange];
if (range.location == NSNotFound)
{
[NSException raise:@"Invalid operation" format:@"The string is in the incorrect format"];
return;
}
END:
*str = [str1 stringByReplacingCharactersInRange:range withString:@""];
}
viel Hilfe von hier:
http://www.stepcase.com/blog/2008/12/02/format-string-for-the-iphone-nsdateformatter/