我有以下代码:
-(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;
}
在NSDate
日期是正确的,但转换的字符串不再正确。
结果:
2012-08-03 10:58:40.469 iSkizzenaufmass [4148:c07] NSDate-结果: 2012-08-03 08:08:35 +0000 2012-08-03 10:58:40.471 iSkizzenaufmass [4148:c07] String-Result:2012-08-216 10:08:48
答案 0 :(得分:2)
您必须使用yyyy-MM-dd HH:mm:SS
代替-DD(DD是一年中的某一天)
编辑:将YYYY改为yyyy,因为YYYY是基于周的年份,可能与当前年份不同(请参阅以下所有选项的链接)