【发布时间】:2013-04-18 18:56:15
【问题描述】:
我正在创建一个表单,用户可以在其中使用 3 个 UITextFields 输入他们的生日:1 个代表月份,1 个代表天,1 个代表年。我想根据用户的日期格式来安排它们。
即:美国用户为 [ MONTH ] [ DAY ] [ YEAR ],欧洲用户为 [ DAY ] [ MONTH ] [ YEAR ] 等等。
各国日期格式图:http://en.wikipedia.org/wiki/Date_format_by_country#Map
获取该格式的最简单方法是什么?
现在我正在设置日期 2000 年 10 月 20 日并解析字符串。
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setDay:20];
[components setMonth:10];
[components setYear:2000];
NSDate *date = [calendar dateFromComponents:components];
NSLog(@"%@", [NSDateFormatter localizedStringFromDate:date dateStyle:NSDateFormatterShortStyle timeStyle:NSDateFormatterNoStyle]);
但我不认为这是正确的做法,因为我已经有太多不同的格式:
美国:2000 年 10 月 20 日
法国:20/10/00
日本:2000/10/20
瑞典:2000-10-20
【问题讨论】:
-
为什么不为用户提供一个UIDatePicker。这会更容易。
-
这是产品要求。
标签: ios localization nsdate nsdateformatter