我想知道为什么当我使用不同的时区时,我的setDateFormat不起作用,这里GMT:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
[dateFormatter setDateFormat:@"dd-MM-YYYY"]; //this doesn't work, nothing appears
//[dateFormatter setDateStyle:NSDateFormatterMediumStyle]; //this works
但是如果我使用默认的timeZone,它可以工作:
NSDateFormatter *Dateformat = [[NSDateFormatter alloc]init];
[Dateformat setDateFormat:@"dd-MM-YYYY HH:mm:ss"]; //this works
感谢您的帮助
保
答案 0 :(得分:0)
你是否曾尝试使用这个dateFormatter来为NSLog一个字符串,它为我做了一个字符串...当我创建一个字符串时 -
NSString *dateStr = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"%@",dateStr);
它给我这个 -
09-08-2011
答案 1 :(得分:0)
另外,您应该使用:[dateFormatter setDateFormat:@“dd-MM-yyyy”]而不是[dateFormatter setDateFormat:@“dd-MM-YYYY”]。 根据苹果文档,使用YYYY是一个常见的错误。它返回一周中年份的年份数(根据ISO周编号方案)。这可能是一年。小写yyyy通常是正确的版本。 请参阅:iphone Get current year as string (Anna Karenina的评论)