iphone - 从格式为 "4/26/1980"的 NSString 中检索日或月 int

标签 iphone ios xcode ipad

我在将字符串转换为 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/

相关文章:

objective-c - #if 检查(预处理器宏)以区分 iPhone 和 iPad

ios - 向 NSArray 对象添加标签

objective-c - 为什么这个 UIImageView 自动居中?

ios - 在图表的 XAxis 上显示三个标签

xcode - 如何将框架添加到Xcode 4.3.2上的项目中

iphone - 当我尝试以编程方式向 UIView 添加 Slider 时,如果宽度太高,它不会出现

iphone - 手动调用 viewDidAppear 的正确时间?

iPhone Lite版本升级

ios - 带有文本 Xcode 的标签拉伸(stretch)

ios - 如何在 objective c xcode 中传递开关的值