Pau*_*len 7 localization nsdate date-formatting ios
我有一个NSDate对象,我从中创建两个NSStrings:日期和时间.目前我将日期格式设置为20111031,时间格式为23:15.
我想要做的是将其格式化为设备(iPhone,iPad,iPod Touch)当前区域设置(不是语言!).例如:
我怎样才能做到这一点?
yuj*_*uji 37
以下内容应该足够了,因为默认情况下NSDateFormatter具有手机的默认语言环境:
NSDate *date = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];
[dateFormatter setDateStyle:NSDateFormatterShortStyle];
NSLog(@"%@",[dateFormatter stringFromDate:date]);
Run Code Online (Sandbox Code Playgroud)
仅供参考,美国,荷兰和瑞典的情况如下:
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
NSLog(@"%@",[dateFormatter stringFromDate:date]);
// displays 10/30/11 7:09 PM
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"nl_NL"]];
NSLog(@"%@",[dateFormatter stringFromDate:date]);
// displays 30-10-11 19:09
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"sv_SE"]];
NSLog(@"%@",[dateFormatter stringFromDate:date]);
// displays 2011-10-30 19:09
Run Code Online (Sandbox Code Playgroud)
小智 7
这里有许多优秀的代码片段.在我看来,国际日期格式(当我想要的只是日期,而不是时间)的一个更好的是,因为手机知道设置中的语言环境语言:
NSDate *date = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:NSLocaleIdentifier]];
[dateFormatter setTimeStyle:NO];
[dateFormatter setDateStyle:NSDateFormatterShortStyle];
NSLog(@"%@",[dateFormatter stringFromDate:date]);
Run Code Online (Sandbox Code Playgroud)