我有一个NSString类型的日期和时间,格式为"YYYY-MM-DD HH:mm:SS",我想要将其转换为德国风格的日期时间格式:"DD.MM.YYY HH:mm:DD"
如何解决?
将一个日期字符串转换为另一种格式的示例:
NSString *currentDateString = @"04-08-2012 08:16:00";
NSLog(@"currentDateString: %@", currentDateString);
NSDateFormatter *dateFormater = [[NSDateFormatter alloc] init];
[dateFormater setDateFormat:@"MM-DD-yyyy HH:mm:ss"];
NSDate *currentDate = [dateFormater dateFromString:currentDateString];
NSLog(@"currentDate: %@", currentDate);
[dateFormater setDateFormat:@"yyyy-MM-DD HH:mm:ss"];
NSString *convertedDateString = [dateFormater stringFromDate:currentDate];
NSLog(@"convertedDateString: %@", convertedDateString);
[dateFormater setDateFormat:@"DD.MM.yyy HH:mm:DD"];
NSString *germanDateString = [dateFormater stringFromDate:currentDate];
NSLog(@"germanDateString: %@", germanDateString);
NSLog输出:
当前日期字符串:04-08-2012 08:16:00
当前日期:2012-04-01 12:16:00 +0000
转换后的日期字符串:2012-04-92 08:16:00
德语日期字符串:92.04.2012 08:16:92
dateFromString
方法,就像我这里做的那样。或者可以使用 NSDateComponents。至于何时会修复此问题,这是苹果和日期之间的关系,有点像油和水 :-) - zaphlocalizedStringFromDate:dateStyle:timeStyle:
,格式化为当前语言环境。 - zaphNSString* input = @"2012-04-08 13:05:49";
NSString* year = [input substringWithRange: NSMakeRange( 0, 4)];
NSString* month = [input substringWithRange: NSMakeRange( 5, 2)];
NSString* day = [input substringWithRange: NSMakeRange( 8, 2)];
NSString* time = [input substringWithRange: NSMakeRange(11, 8)];
NSString* output = [NSString stringWithFormat:@"%@.%@.%@ %@",day,month,year,time];