美文网首页
iOS 字符串转时间,超出日期月份自动+1问题

iOS 字符串转时间,超出日期月份自动+1问题

作者: xsgoing | 来源:发表于2022-04-22 10:31 被阅读0次

1、背景:将字符串1998-02-31 转成 NSDate时,调用如下方法,得到的结果是 date:1998-03-02

+ (NSDate *)dateWithString:(NSString *)dateString format:(NSString *)format {    

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

NSTimeZone *localTimeZone = [NSTimeZone localTimeZone];  

 [formatter setDateFormat:format];    

[formatter setTimeZone:localTimeZone];    

[formatter setCalendar:[NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian]];    

return [formatter dateFromString:dateString];

}

2、因为这个日期其实是不存在的,如果想要返回date:nil,加上如下代码即可

 [formatter setLenient:false];

相关文章

网友评论

      本文标题:iOS 字符串转时间,超出日期月份自动+1问题

      本文链接:https://www.haomeiwen.com/subject/boggertx.html