“YYYY”和“yyyy”之间的确切区别是什么?我读到这个链接 https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/DataFormatting/Articles/dfDateFormatting10_4.html#//apple_ref/doc/uid/TP40002369-SW1,它指出
一个常见的错误是使用 YYYY。 yyyy 指定日历年
而 YYYY 指定 ISO 中使用的年份(“一年中的周”)
年周日历。在大多数情况下,yyyy 和 YYYY 产生相同的结果
数,但它们可能不同。通常您应该使用
公历年。
但是当我尝试使用
NSString *stringDate = @"Feb 28, 2013 05:30pm";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MMM dd, yyyy hh:mma"];
NSDate *date=[dateFormatter dateFromString:stringDate];
NSLog(@"Date 1 : %@",date); //2013-02-28 12:00:00 +0000
NSString *stringDatee = @"Feb 28, 2013 05:30pm";
NSDateFormatter *dateFormatterr = [[NSDateFormatter alloc] init];
[dateFormatterr setDateFormat:@"MMM dd, YYYY hh:mma"];
NSDate *datee=[dateFormatterr dateFromString:stringDatee];
NSLog(@"Date 2 : %@",datee); //2013-01-05 12:00:00 +0000
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMM dd, YYYY hh:mma"];
NSString *dateString = [dateFormat stringFromDate:datee];
NSLog(@"date 3 : %@", dateString); //Jan 05, 2013 05:30PM
如此处,结果为date
and datee
不同,我明白,但是为什么日期2和日期3的结果不同?当我从字符串创建日期并再次将其反转为字符串时,但输出不匹配?
有谁知道同样的原因吗?尽管它指定了一年中的第几周,但我仍然应该得到相同的结果。
Thanks..
EDIT :-
如果我编码
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMM dd, YYYY hh:mma"];
NSString *dateString = [dateFormatterr stringFromDate:[NSDate date]];
NSLog(@"date: %@", dateString); //Feb 28, 2013 04:37PM
如果结果正确,但与我迄今为止作为字符串传递的结果相同2013-01-05 12:00:00 +0000
,检查NSLog的日期2,奇怪的结果,为什么?