iPhone开发 - 来自NSString的UIDatePicker日期

时间:2010-08-05 01:41:28

标签: iphone nsstring uidatepicker

我正在尝试设置UIDatePicker的日期,但我每月都是“1月”(01)。我尝试使用“MM”和“LL”,但两者都不起作用。

我的代码:

-(void)viewDidLoad {    
    [super viewDidLoad];

    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];

    [dateFormat setDateFormat:@"YYYY-MM-DD"];;
    NSDate *anyDate = [dateFormat dateFromString:@"2019-09-11"];   
    [datePicker setDate:anyDate];

    [dateFormat release];

}

提前致谢,

克劳迪奥

2 个答案:

答案 0 :(得分:7)

Mac's and iPhones使用Unicode Date Formatting

所以你的代码应该是:

-(void)viewDidLoad {    
[super viewDidLoad];

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];

[dateFormat setDateFormat:@"yyyy'-'MM'-'dd"];;
NSDate *anyDate = [dateFormat dateFromString:@"2019-09-11"];   
[datePicker setDate:anyDate];

[dateFormat release];
}

您使用的数据格式化程序

  • 'YYYY' - “年份(”年份周“),用于ISO年 - 周历。可能与日历年不同。” (无论那意味着......)
  • 'DD' - “一年中的一天”,这很可能是为什么它会给你1月份的结果。

答案 1 :(得分:0)

您是否在setDate通话中收到警告?

It looks like the signature is "setDate:animated:"

当你这样做时会发生什么:

[datePicker setDate:anyDate animated:NO];