我在将字符串转换为 NSDate 时遇到了一些问题,所以也许有更好/更简单的方法来做到这一点。
我有一个日期格式为“dd/mm/yyyy”的 NSString,但是,有些不包含年份,只是“dd/mm”。
我正在尝试将日期和月份存储在我的 SQLite 数据库中,因此我需要分别取出这些组件。我试过将它们转换成 NSDate,但因为有些没有年份,所以它与 NSDate 格式不匹配而失败。我也遇到了以下示例的问题 this因为我原来的 dateString 格式不同(使用斜杠而不是破折号)。
有什么想法吗?谢谢
最佳答案
NSString *dateString = @"01/04/1981";
NSArray *dateComponentsArray = [dateString componentsSeparatedByString:@"/"];
NSString *monthString = [dateComponentArray objectAtIndex:0];
NSString *dayString = [dateComponentsArray objectAtIndex:1];
if ([dateComponentsArray objectAtIndex:2]) {
NSString *yearString = [dateComponentsArray objectAtIndex:2];
}
NSFormatter 看起来有点矫枉过正,因为它非常昂贵。如果您确定不会对格式进行任何更改,那么这应该可行。
关于iphone - 从格式为 "4/26/1980"的 NSString 中检索日或月 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10357667/