【发布时间】:2012-03-01 07:08:05
【问题描述】:
当我尝试使用格式化程序字符串解析字符串 @"02291120" 时,NSDateFormatter 返回 nil
@"MMddHHmm"
但是,2 月 29 日是有效日期(闰年)。如何确保解析器返回的结果不为零?
【问题讨论】:
标签: iphone objective-c nsdateformatter
当我尝试使用格式化程序字符串解析字符串 @"02291120" 时,NSDateFormatter 返回 nil
@"MMddHHmm"
但是,2 月 29 日是有效日期(闰年)。如何确保解析器返回的结果不为零?
【问题讨论】:
标签: iphone objective-c nsdateformatter
您没有告诉日期格式化程序使用哪一年。
如果您的日期格式中不包含年份,则默认使用 1970。如果您希望它默认使用不同的年份,则必须为日期格式化程序提供默认日期。例如,如果您希望它使用当前年份,您可以将默认日期设置为当前日期:
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateFormat = @"MMddHHmm";
df.defaultDate = [NSDate date];
NSDate *date = [df dateFromString:@"02291120"];
【讨论】:
如果你想得到“0229”的日期,你必须像这样添加年份格式:
@"YYYYMMddHHmm" @"201202291120"
【讨论】: