在Objective-C中,从NSDate中提取子串的最佳方法是什么?

时间:2010-08-27 09:34:28

标签: objective-c

我目前正在接受yyyy mm dd hh mm和NSDate的ss: -

NSDate* dd   = [NSDate date];
NSString* date = [dd description];
NSString* y = [date substringToIndex:4];
NSString* m = [[date substringFromIndex:5] substringToIndex:2];
NSString* d = [[date substringFromIndex:8] substringToIndex:2];
NSString* h = [[date substringFromIndex:11] substringToIndex:2];
NSString* mi   = [[date substringFromIndex:14] substringToIndex:2];
NSString* s = [[date substringFromIndex:17] substringToIndex:2];
NSLog(@"%@, %@ %@ %@ %@ %@ %@,", date, y, m, d, h, mi, s);

但对我来说似乎很狡猾,例如关于locale怎么样?有更好的方法可以做到这一点,还是这种语言环境保护?

2 个答案:

答案 0 :(得分:0)

您可以使用NSDateFormatter,have a look at Apple documentation

答案 1 :(得分:0)

你应该给班级NSDateFormatter一个机会。此类旨在实现这一目的:创建区域设置,本地化,用户偏好的日期字符串。您不应该使用任何els向用户提供日期。