【问题标题】:NSDateFormater from NSMutableArray valueNSDateFormater 来自 NSMutableArray 值
【发布时间】:2010-03-03 03:24:47
【问题描述】:

我在我的 NSMutableArray 中存储了一些日期,我想检索它们并更改格式。 目前我这样做:


NSDate *myDate = [self.dates objectAtIndex:0];
NSLog(@"myDate:%@", myDate); // 2010-03-02
NSDateFormatter *formatDate = [[NSDateFormatter alloc] init];
[formatDate setDateFormat:@"MMMM d YYYY"];

NSString *newDate = [formatDate stringFromDate:myDate];
NSLog(@"newDate: %@", newDate); // NULL

newDate 的结果是 NULL,我希望它是这样的:“2010 年 3 月 3 日”

谢谢,

【问题讨论】:

    标签: iphone objective-c nsdate


    【解决方案1】:

    这对我有用,但我将第一行替换为:

    NSDate *myDate = [NSDate date];
    

    我的输出:

    2010-03-02 19:29:08.045 app[11464:a0f] myDate:2010-03-02 19:29:08 -0800
    2010-03-02 19:29:08.048 app[11464:a0f] newDate: March 2 2010
    

    我最好的猜测是 [self.dates objectAtIndex:0] 没有返回你想要的。

    【讨论】:

    • 这不是我想要的,如果我使用 [NSDate date] 就太容易了;我已经将所有日期存储在一个数组中,现在我想使用它们,我的第一行很好,因为我可以读取我的日期
    • @ludo,如果你的数组包含一个日期,你的代码就可以工作。该数组包含其他内容。例如,如果它包含字符串,您的第二行将起作用。
    • 实际上,我猜你有一个字符串,而不是日期 - 这是最有可能的情况。
    • @ludo:NSDates 没有格式,所以这很奇怪。这就是日期格式化程序的用途。尝试记录 myDate 的类,以确保它实际上是一个 NSDate,而不是意外地具有类似日期的描述。
    • @ludo:不。字符串仍然是字符串,即使您将 NSDate 变量指向它。给变量一个NSDate* 类型只是对编译器说谎变量指向什么。有关变量在 Objective-C 中如何工作的更多信息,请参阅我的答案:stackoverflow.com/questions/1313836/cocoa-string-question/…
    【解决方案2】:

    由于您的日期数组包含字符串,您必须将字符串转换为 NSDate,然后您可以将日期重新转换为您想要的格式。

    NSDateFormatter *strToDateFmt = [[NSDateFormatter alloc] init];
    [strToDateFmt setDateFormat:@"yyyy-MM-dd"];
    NSDate *myDate = [strToDateFmt dateFromString:[self.dates objectAtIndex:0]];
    [strToDateFmt release];
    NSLog(@"myDate:%@", myDate);
    
    NSDateFormatter *formatDate = [[NSDateFormatter alloc] init];
    [formatDate setDateFormat:@"MMMM d YYYY"];
    NSString *newDate = [formatDate stringFromDate:myDate];
    [formatDate release];
    NSLog(@"newDate: %@", newDate);
    

    【讨论】:

    • 在他们告诉我观看文档之后,我自己就完成了,stringFromDate: 是我的解决方案。谢谢,你的代码是一样的,它的工作原理
    猜你喜欢
    • 1970-01-01
    • 2015-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多