转换NSDate到NString问题
问题描述:
嗨我选择从UIDatePicker日期并将其转换为NSstring ..所有的日期工作正常。您好设定的最大日期为2001-12-31。当我选择这个日期字符串回报 “2002-12-31” 这里转换NSDate到NString问题
dOBPicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(20, 30, 360, 55)];
dOBPicker.datePickerMode = UIDatePickerModeDate;
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"YYYY-MM-dd";
dOBPicker.maximumDate = [formatter dateFromString:@"2001-12-31"];
转换
NSDateFormatter *dateOfBirthFormat =[[NSDateFormatter alloc]init];
dateOfBirthFormat.dateFormat = @"YYYY-MM-dd";
[dateOfBirthFormat setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSString *dob = [dateOfBirthFormat stringFromDate:dOBPicker.date];
NSLog(@"The dob is %@", dob);
输出为:2002-12-31
答
你需要使用“yyyy”而不是“YYYY”。
“Y”:年份(以“Week of Year”为基准的日历)。通常,长度指定填充,但对于两个字母,它也指定最大长度。今年指定用于ISO 8601定义的ISO年历日历,但可用于需要星期处理的非格里历日历系统。可能并不总是与历年相同的价值。
Y year of "Week of Year": Y -> 1997
“y”:Year。通常,长度指定填充,但对于两个字母,它也指定最大长度。
y year: yy -> 96 y or yyyy -> 1996
参见:ICU Formatting Dates and Times
另外:CLDR Date Field SymbolTable.
答
您需要更换格式此:
@"yyyy-MM-dd"
感谢您的答复我会检查 – Seeker 2014-10-03 13:56:12