代码之家  ›  专栏  ›  技术社区  ›  Alex Wayne

nsdateFormatter编码与解码不一致

  •  1
  • Alex Wayne  · 技术社区  · 14 年前

    当我使用此日期格式设置工具时,它不会返回我从日期开始的相同日期--字符串--日期。

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setFormatterBehavior:NSDateFormatterBehavior10_4];
    [formatter setDateFormat:@"MMM d, YYYY hh:mm aaa"];
    
    NSDate *date = [NSDate date];
    NSString *string = [formatter stringFromDate:date];
    NSDate *resultingDate = [formatter dateFromString:string];
    

    我的测试生成了一个日期字符串 Aug 24, 2010 01:00 PM . 当反馈到 dateFromString 我得到 2009-12-27 13:00:00 . 时间是正确的,但日期都错了。

    有人知道这是怎么回事吗?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Richard J. Ross III    14 年前

    这句话的问题是:

    [formatter setDateFormat:@"MMM d, YYYY hh:mm aaa"];
    

    将其更改为(小写Y):

    [formatter setDateFormat:@"MMM d, yyyy hh:mm aaa"];
    

    而且效果很好。

    我真的不知道代码背后有什么问题 NSDateFormatter 但我所知道的是它起作用了。