ios – 在设备当前区域设置后格式化日期和时间

前端之家收集整理的这篇文章主要介绍了ios – 在设备当前区域设置后格式化日期和时间前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个NSDate对象,我从中创建两个NSStrings:日期和时间.目前我将日期格式设置为20111031,时间格式为23:15.

我想做的是将其格式化为设备(iPhone,iPad,iPod Touch)当前区域设置(不是语言!).例如:

>设置为美国地区的设备将显示(从我的头顶)10.31.11和时间晚上11:15
>设置为荷兰地区的设备将显示:2011年10月31日和时间23.15
>设置为瑞典地区的设备将显示:2001-10-31和时间23:15

我怎样才能做到这一点?

解决方法

以下内容应该足够了,因为默认情况下NSDateFormatter具有手机的默认语言环境:
NSDate *date = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];
[dateFormatter setDateStyle:NSDateFormatterShortStyle];
NSLog(@"%@",[dateFormatter stringFromDate:date]);

仅供参考,这是美国,荷兰和瑞典的情况:

[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
原文链接:https://www.f2er.com/iOS/333645.html

猜你在找的iOS相关文章