0

我有以下代码:

-(void)setDate:(double)dateInterval {
    NSDate *date = [NSDate dateWithTimeIntervalSince1970:(NSTimeInterval)dateInterval];
    NSLog(@"NSDate-Result: %@", [date description]);

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    [formatter setTimeStyle:NSDateFormatterMediumStyle];

    [formatter setFormatterBehavior:NSDateFormatterBehavior10_4];
    [formatter setDateFormat:@"YYYY-MM-DD HH:mm:SS"];

    NSString *dateString = [formatter stringFromDate:date];
    NSLog(@"String-Result: %@", dateString);

    date_label.text = dateString;
}

NSDateDate 中是正确的,但转换后的字符串不再正确。

结果:

2012-08-03 10:58:40.469 iSkizzenaufmass[4148:c07] NSDate-Result: 2012-08-03 08:08:35 +0000 2012-08-03 10:58:40.471 iSkizzenaufmass[4148:c07] 字符串-结果:2012-08-216 10:08:48

4

1 回答 1

2

您必须使用yyyy-MM-dd HH:mm:SS而不是 -DD (DD 是一年中的一天)

编辑:将 YYYY 更改为 yyyy,因为 YYYY 是基于周的年份,并且可能与当前年份不同(有关所有选项,请参见下面的链接)

于 2012-08-03T09:02:41.727 回答